,七搞八搞个弄出来了,分享下成果,给那些被类似问题折磨的童鞋一点参考,也请大神们指点,看看有没有更方便的方法程序如下:
- function [result]=myin_polation(da)
- %线性插值,要求数据集da第一行和最后一行元素都不为零
- x=find(da==0);
- da_=da(:);
- [m,n]=size(da);
- for i=1:length(x)
- da_(x(i))=(da_(mysubin_polation( x,x(i),1))+da_(mysubin_polation( x,x(i),2)))/2;
- result=reshape(da_,m,n);
- end
- end
- function [ output] = mysubin_polation( x,k,option )
- if option==1
- if ismember(k-1,x)==0
- up=k-1;
- else
- up=mysubin_polation(x,k-1,1);
- end
- output=up;
- end
- if option==2
- if ismember(k+1,x)==0
- down=k+1;
- else
- down=mysubin_polation(x,k-1,2);
- end
- output=down;
- end
- end
- da(cellfun(@ischar,da))={0};
- da=cell2mat(da);


雷达卡




京公网安备 11010802022788号







