我们在进行科研时会碰到仪器生成的数据为.csv的文件,这时候使用matlab进行读取处理,核心思想是对读取到的数据按照矩阵进行处理,处理过程如下:
第一步:
filename="D:\...\....csv";%读入csv数据
%截取数值部分
%诀窍:把矩阵想象成矩形,左上角的坐标即可涵盖左下角内所有数据,添加了右下角坐标即可指定涵盖的区域
a=csvread(filename,2,0,[2,0,902,89]);
%建立等大小的矩阵b
b=a;
%a中第2i列的数据整体减去第2列的数值,并赋给b的第2i列
for i=4:2:90
b(:,i)=a(:,i)-a(:,2);
end
%用btmp1保存第1步结果
btmp1=b;
%从第4列开始对每个偶数列1到401行减去tmp1
%其他列保持不变
for j=4:2:90
%tmp1为对应列的401行值减去402行值
tmp1=b(401,j)-b(402,j);
for k=1:401
b(k,j)=b(k,j)-tmp1;
end
end
%用btmp2保存第2步结果
btmp2=b;
%从第4列开始对每个偶数列乘以tmp2
for z=4:2:90
%tmp2为第4列801行值与其他列对应位置值的比值,此处也可以称为相对于第4列的归一化
tmp2=b(801,4)/b(801,z);
b(:,z)=b(:,z)*tmp2;
end
第二步
双击右侧对应的数据即可看到你所求的结果,查看时可以CTRL+A,然后CTRL+C将结果粘贴到EXCEL中。