matlab读取txt/excel文件为矩阵,并进行画图的方法
1. matlab准备
如果没有matlab的话,只需要到学校网站上下载,按照步骤就可以安装。THU的下载地址如下:
THU matlab2021a下载地址
2. matlab读取txt文件以及画图
首先说一下读取txt文件为矩阵的方法
这里有一个名为test.txt的文件,放在了如下路径”D:\test.txt“,里面存了一个数组。我们接下来将要读取这个txt文件存储的数组,然后将其中的数据画出来。
这个文件里,我预先存了自变量x(从0-10)和三个因变量数组,分别为sin(x), cos(x), 0.1*x.
代码如下(这里的代码是画了三幅图的,而且代码很多重复,其实不多的)
%这一部分是从文件中读取数据
test_array = load('D:\test.txt'); % 这里的load()参数是txt文件的地址,test_array就是所读取的数据
% 这里test.txt所存储的数据,第一行代表横坐标x,第二到四行代表纵坐标y的数据。
% 下面五句话是将数组每一行赋给一个变量(最后一句是将一个数组赋值给变量),便于下面的画图
x = test_array(1,:);
y1 = test_array(2,:);
y2 = test_array(3,:);
y3 = test_array(4,:);
y = test_array(2:4,:)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 接下来就是要画图了,x为横坐标,我们将y1,y2,y3同时画在一幅图内。
% 一般的数据图很简单,用plot()函数即可以解决。
% method 1
figure(4) %这里定义一个新的图
plot(x,y1,'g','LineWidth',2); %先画一个最简单的,x为横坐标,y1为纵坐标数据,'g'定义颜色为绿色,'lineWidth'定义线宽为2
title("Beautiful Figure 1"); %定义title的名字
xlabel('X'); %定义X轴(自变量)的名字
ylabel("Y"); %定义Y轴(因变量)的名字
% legend('y1','y2','y3','location',"best")
set(gca,'linewidth',2,'FontName','Times New Roman','FontSize',14, 'FontWeight','bold'); % 设置文字大小,同时影响坐标轴标注、图例、标题等。
set(get(gca,'XLabel'),'FontSize',20);%单独设置Xlabel的大小
set(get(gca,'YLabel'),'FontSize',20);%单独设置Ylabel的大小
% method 2
% 这个与上一个的区别是可以在一幅图里画多条曲线,可以参考上图设置
figure(2)
plot(x,y1,'g',x,y2,'b',x,y3,'c','LineWidth',2);
title("Beautiful Figure 2");
xlabel('X');
ylabel("Y");
legend('y1','y2','y3','location',"best"); %定义图例,'location定义位置,best代表最佳的位置
set(gca,'linewidth',2,'FontName','Times New Roman','FontSize',14, 'FontWeight','bold'); % 设置文字大小,同时影响坐标轴标注、图例、标题等。
set(get(gca,'XLabel'),'FontSize',20);%图上文字为8 point或小5号
set(get(gca,'YLabel'),'FontSize',20);
% method 3
figure(3)
plot(x,y,'LineWidth',2); % 这里的y是一个数组,可以看到它可以直接画出所有的曲线,缺点是一些线的特征不能自定义了
title("Beautiful Figure 3");
xlabel('X');
ylabel("Y");
legend('y1','y2','y3','location',"best");
set(gca,'linewidth',2,'FontName','Times New Roman','FontSize',14, 'FontWeight','bold'); % 设置文字大小,同时影响坐标轴标注、图例、标题等。
set(get(gca,'XLabel'),'FontSize',20);%图上文字为8 point或小5号
set(get(gca,'YLabel'),'FontSize',20);
画出来的结果如下:
上面画图可以当作一个模板,画其他图的时候,就直接更换所读取的文件地址就可以了。
3. matlab读取excel文件以及画图
这里有一个名为’test.xlsx’的文件,放在了如下路径”D:\test.xlsx“,里面存了一个数组。我们接下来将要读取这个excel文件存储的数组,然后将其中的数据画出来。
这个时候非常的简单,就是在上面代码的基础上,改一行就好了
将这一行代码
test_array = load('D:\test.txt'); % 这里的load()参数是txt文件的地址,test_array就是所读取的数据
替换为
test_array = xlsread('D:\test.xlsx','sheet1'); % 这里的load()参数是txt文件的地址,xlsread()是读取excel文件的函数,sheet1代表要读取哪一个
其余的都不变,同样可以画出上面的三幅图。
后记
- 有一些其他的画图方法,plot这个函数能够满足大部分的需求。可以把这个代码当成一个模板,然后自己改。
- plot可以直接在matlab内部,右键这个函数查看help,现在的文档说明很清楚。或者直接在网上搜。
- matlab出了一个实时函数,在新建文件的时候可以选择这一种,非常好用。