楼主初学matlab,自己在跑程序的时候往往需要处理矩阵中的缺失值,这是楼主自己写的函数:
传入一个列表,缺失值需要用NaN表示,这里只能线性插值,如果哪位聚聚有好点子欢迎指教!
function [series] = new_interp( input )
size=length(input);
for i=1:size
if isnan(input(i))
count=1;
start=i;
former=input(i-1);
for k=i+1:size
if not(isnan(input(k)))
last=input(k);
ends=k-1;
break;
else
count=count+1;
end
end
step=(last-former)/(1+count);
for i=start:ends
input(i)=former+step*(i-start+1);
end
end
series=input;
end