【MATLAB】导入包含数据的txt文件到MATLAB中,并绘制图像

本文详细介绍如何在MATLAB中导入TXT文件数据,并使用不同标记绘制散点图。包括设置工作路径、导入数据及多种绘图方法,如使用plot函数、编辑图形属性、创建子图等。

    这回把步骤写得详详细细的,再不会忘记了吧,哇呀呀哎呀导入包含数据的txt文件到MATLAB中,并绘制图像

    第一步:先把txt文件复制到MATLAB的目录,或者在MATLAB中将路径指向txt文件所在路径。
    第二步:右键存有数据的txt文件,选择Import Data...

     

  第三步:Import Data之后就能看到txt里的数据被妥善安放好位置了,然后在Range右边的列表中选择Matrix,再点击绿色的对勾√导入数据:

    

    第四步:导入完数据后,在workplace里能看到名为txt文件名的数组变量,就说明导入成功,这里是a:

    

    第五步:最后就是编写语句了:plot(a(:,2),a(:,3),'o'),回车就会出现以o为点的散点图,如果是:plot(a(:,2),a(:,3),'*'),就得到以*为点的散点图;

     


     

绘图说明(本节来自互联网资源):

   1.将数据表的各列数值分别赋予变量x、y、z等,格式如下:x=sheetname(:,1), y=sheetname(:,2), z=sheetname(:,3);

   2.用命令plot(x,y,’XXXX’)绘制图形,单引号中的符号表示点线的属性,如线形、颜色、点的形状等,若用双对数坐标画图则命令为loglog(x,y);

   3.在弹出的绘图界面中用菜单View—Property Editor编辑图形属性,如字体大小、数据点形状、横纵坐标名称、绘图区域颜色等;

   4.绘图方法2:在数组编辑器上点击Plot Selection按钮,选择图形的类型即可;
   5.绘图方法3:菜单File—New—Figure创建新的图形,在图形编辑器中Figure Palette面板点击2D Axes,点击右下角Add Data选择图表类型和坐标轴的数据源,度分布图将坐标轴由线形改为对数即可。

   6.hold on/off命令:叠绘命令,切换绘图的保持功能;

   7.绘制双纵轴:
    7.1 plotyy(x1,y1,x2,y2):分别用左/右侧y轴表示两条曲线;
    7.2 plotyy(x1,y1,x2,y2,FUN):FUN是字符串格式,用来指定绘图的函数名,可以由多个。

   8.创建子图:subplot(m,n,p):表示将绘图区域分为m*n个矩形块,分别创建坐标系,如 >>subplot(1,2,1);loglog(x,y); >>subplot(1,2,2);loglog(m,n); 表示在图形中创建两个子图,左右排列,分别绘制双对数坐标图,变量分别是x、y和m、n。 


### 使用 Matlab 导入 Excel 数据绘制函数图像 #### 1. 导入 Excel 数据 可以通过 `xlsread` 函数将 Excel 文件中的数据读取到 MATLAB 中。以下是具体方法: ```matlab % 假设文件名为 'data.xlsx',工作表名称为 'Sheet1' filename = 'data.xlsx'; % 定义文件名 sheetname = 'Sheet1'; % 定义工作表名 [data, text, raw] = xlsread(filename, sheetname); % 将数值型数据存储在 data 变量中 ``` 上述代码会将指定的工作表中的数值型数据存放在矩阵 `data` 中[^2]。 #### 2. 处理导入数据 如果需要进一步处理数据(例如提取特定列),可以按照如下方式操作: ```matlab % 提取第1列作为横坐标 (X),第2列作为纵坐标 (Y) X = data(:, 1); Y = data(:, 2); % 如果有缺失值或其他异常情况,可以用 NaN 或其他方式进行替换 X(isnan(X)) = 0; % 替换 X 列中的 NaN 值为 0 Y(isnan(Y)) = 0; % 替换 Y 列中的 NaN 值为 0 ``` #### 3. 绘制函数图像 使用 `plot` 函数绘制二维曲线图。以下是一个完整的绘图示例: ```matlab figure; % 创建一个新的图形窗口 plot(X, Y, '-o', 'LineWidth', 1.5); % 绘制带有圆圈标记的线条 title('Excel Data Plot'); % 设置标题 xlabel('X Axis Label'); % 设置 X 轴标签 ylabel('Y Axis Label'); % 设置 Y 轴标签 grid on; % 显示网格线 legend('Data Line'); % 添加图例说明 ``` 以上代码实现了从 Excel 表格中导入数据将其可视化成一条带标注的折线图。 #### 4. 高级应用:快速傅里叶变换 (FFT) 如果需要对导入数据进行频域分析,则可利用 FFT 功能完成此任务。下面展示了一个简单例子: ```matlab Fs = 1 / mean(diff(X)); % 计算采样率 Fs N = length(Y); % 获取样本数量 N f = (0:N-1)*(Fs/N); % 构造频率向量 f Y_fft = abs(fft(Y))/N; % 对信号做 FFT 归一化幅度 figure; plot(f(1:floor(N/2)), Y_fft(1:floor(N/2))); % 绘制单边谱 title('Frequency Spectrum'); xlabel('Frequency (Hz)'); ylabel('|Amplitude|'); grid on; ``` 该部分展示了如何基于已导入的时间序列数据执行 FFT 分析以及显示其对应的幅频特性曲线[^5]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值