从matlab中读取excel数据,由于数据显示近似正弦函数,但周期值不稳定在450-600之间,取当前数值和下一个数值由负变正的点,之间的索引差就是我们近似正弦数据的周期值,改点即周期初始点,取周期初始点+120的数据点,提取出对应索引的数据结果存入result中,写入excel文件并画图plot展示。
clear all;
num = xlsread('C:/Users/Administrator/Desktop/mocali2.xlsx');%用的时候改成自己的路径,前半部分是文件右键属性中的路径,后面是文件名,文件用英文命名
matrix_col=size(num,2);%读取数据行数
matrix_row=size(num,1);%读取数据列数
result=[];%初始化一个数组
i=0;
j=1;
b=diff(num>0);%求上下两个数差
index=find(b==-1)+1;%识别负转变为正的位置,出来每个周期索引
index=index+119;%取每个周期第120个数
index_row=size(index,1);%读取索引列数
index(index_row,:)=[];%删除最后+120溢出的一行
index_row_after=size(index,1);%重新读取索引列数
for i=1:index_row_after
result(j,:)=num(index(i));%提取出对应索引的数据结果存入result中
j=j+1;
i=i+1;%程序循环index_row_after次
end
j=j-1;%为了画图x轴y轴一一对应
plot(1:j,result,'r-');%画图j作为x轴,对应y轴result,改线的颜色的话就改r-
xlabel('t/s');%横坐标文字显示,修改‘’中的内容可改
ylabel('摩擦力');%纵坐标文字显示,修改‘’中的内容可改
xlswrite('mocaliresult2-120.xls',result);%保存数据,‘’里是保存后的文件名,可自己修改