该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大神写注释
function [data]=interpolation_column(cdata)
nans =isnan(cdata);
indxnans = find(nans);
for i=1:size(indxnans,1)
pre5 = findPre5(indxnans(i),cdata);
pst5 = findPst5(indxnans(i),cdata);
[pre5r,pre5c]=size(pre5);
[pst5r,pst5c]=size(pst5);
missingvalue=polyinterp([1:pre5c,(pre5c+2):(pre5c+pst5c+1)],[pre5,pst5],pre5c+1);
cdata(indxnans(i),1)=missingvalue;
end
data=cdata;
%%%------------
function pre5 = findPre5(ind,data)
if ind<0
disp('illegal index');
exit;
end
num=5;
pre5=nan(1,5);
for i=ind-1:-1:1
if isnan(data(i))==0
pre5(num)=data(i);
num=num-1;
end
if num==0
break;
end
end
pre5=pre5(~isnan(pre5));
%%%------------
function pst5 = findPst5(ind,data)
if ind<0
disp('illegal index');
exit;
end
num =0;
pst5=nan(1,5);
rows=size(data,1);
for i=ind+1:rows
if isnan(data(i))==0
num=num+1;
pst5(num)=data(i);
end
if num==5
break;
end
end
pst5=pst5(~isnan(pst5));