matlab(1):使用matlab处理excel数据进行画图

目录

0 说明

1 直接使用xlsread读取出错

2 解决办法

3 绘图


0 说明

Excel数据示例(number_filter_radius_0.8_3.csv),一共99行数据(4列),第一行数据是表头

matlab(1):使用matlab处理excel数据进行画图_第1张图片matlab(1):使用matlab处理excel数据进行画图_第2张图片

参考了一位大神的代码,修改如下:

data=xlsread('C:\Users\meng\Desktop\number_filter_radius_0.8_3_copy.csv')  

%x=data(:,4); %第4列的全部
%y=data(:,2); %第2列的全部
%x=data(1:99,4); %2到99行的第4列
%y=data(1:99,2); %2到99行的第2列
%plot(x,y) ; %绘制曲线

%参考:https://blog.csdn.net/baiyibin0530/article/details/79360804

1 直接使用xlsread读取出错

%括号内为文件路径
data=xlsread('C:\Users\meng\Desktop\number_filter_radius_0.8_3.csv')  

matlab(1):使用matlab处理excel数据进行画图_第3张图片         将第2、3、4列数据都读取成了0,而且第一行的文本类型直接被忽略了

2 解决办法

拷贝excel文件,删除第一行和第一列(第一行是字符串/文本数据,第一列的数据过于大/相对其他三列来说)

注:如果删除的行或列的数据还需要用,可以将这些行或列的数据再单独存一个excel文件,再读取成另一个数据,如data_1,这样matlab就可以继续处理了

修改后的文件number_filter_radius_0.8_3_copy.csv如下(98行,3列):

matlab(1):使用matlab处理excel数据进行画图_第4张图片matlab(1):使用matlab处理excel数据进行画图_第5张图片

 可以正常读取了:

matlab(1):使用matlab处理excel数据进行画图_第6张图片

3 绘图

我这里需要以第3列为x轴,第1、2列为y轴进行绘制

完整代码(代码文件名:matlab_read_excel.m):

data=xlsread('C:\Users\meng\Desktop\number_filter_radius_0.8_3_copy.csv')  

x_base=data(:,3); %第3列的全部
x=data(:,1); %第1列的全部
y=data(:,2); %第2列的全部

plot(x_base,x) ; %绘制曲线
hold on;
plot(x_base,y) ; %绘制曲线

matlab(1):使用matlab处理excel数据进行画图_第7张图片

你可能感兴趣的