MATLAB数据预处理——导入,插补,绘图

一、导入数据

1.先在命令行建立数组,再直接把数据复制上去。

2.利用函数,读取excel中的数据

x=xlsread('C:\Users\dell\Desktop\试品2.xlsx','C2:C100')

二、插值

1.把数据中的缺失值转换为NaN

t2(t2==0)=NaN;

2.查找缺失值

TF1=ismissing(t2);%查找缺失值,TF是逻辑矩阵,利用TF可以找到t2内的缺失值,TF中的1对应t2中的缺失值
t2(TF1);%显示缺失值位置
TF=TF1;
t2pre=t2;
while max(TF)
      t2=fillmissing(t2,'movmean',30);%窗口为30的移动均值填充缺失向量
%t2=fillmissing(t2,'movmean',[2,0])%用缺失值的前两个平均值进行插补
%t2=fillmissing(t2,'movmean',3)%用缺失值的前一个值和后一个值的平均值进行插补
      TF=ismisssing(t2pre)
end

MATLAB中还存在一个插值函数interp1

y1=interp1(x,y,x1,'method')

方法有三种

'nearest'是最邻近插值, 'linear'线性插值; 'spline'三次样条插值; 'pchip'立方插值

3.绘图

plot(x,t2pre,t(TF1),t2pre(TF1),'x')
title('插补后的数据波形')
xlabel('')
ylabel('')
legend('原始数据','插补值')
save('t2pre.mat','t2pre');%保存插补后的数据

你可能感兴趣的:(matlab)