发布时间:2022-08-19 14:06
目录
0 说明
1 直接使用xlsread读取出错
2 解决办法
3 绘图
Excel数据示例(number_filter_radius_0.8_3.csv),一共99行数据(4列),第一行数据是表头
参考了一位大神的代码,修改如下:
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
%括号内为文件路径
data=xlsread('C:\Users\meng\Desktop\number_filter_radius_0.8_3.csv')
将第2、3、4列数据都读取成了0,而且第一行的文本类型直接被忽略了
拷贝excel文件,删除第一行和第一列(第一行是字符串/文本数据,第一列的数据过于大/相对其他三列来说)
注:如果删除的行或列的数据还需要用,可以将这些行或列的数据再单独存一个excel文件,再读取成另一个数据,如data_1,这样matlab就可以继续处理了
修改后的文件number_filter_radius_0.8_3_copy.csv如下(98行,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) ; %绘制曲线