matlab 如何用插值给NAN赋值

我现在有个360*180的二维矩阵,然后里面有一些NAN值。这些NAN值不能去掉也不能改成0,因为会影响最后的结果,所以我想用插值的方法给NAN赋值。请问这个程序怎么编呐... 我现在有个360*180的二维矩阵,然后里面有一些NAN值。这些NAN值不能去掉也不能改成0,因为会影响最后的结果,所以我想用插值的方法给NAN赋值。请问这个程序怎么编呐?谢谢! 展开
 我来答
叶早早回扉0
2015-10-31 · TA获得超过2.5万个赞
知道大有可为答主
回答量:5625
采纳率:92%
帮助的人:520万
展开全部
第一列到倒数第二列都是nan,之后最后一列有值
那么其他值以什么标准来填新值呢?
哪怕多知道第一列的值,中间的还可以根据一前一后两个值插值计算得出

如果有足够的数据,至少第一点和最后一点知道,还是可以通过interp1插值填充的
只是要处理一下避开nan点

假设你原来数据是a
使用find(isnan(a))可以返回所有数据中是nan的值的位置
可以根据其填充新值
qingningleyun
2013-10-28 · TA获得超过5854个赞
知道大有可为答主
回答量:2991
采纳率:30%
帮助的人:3057万
展开全部
% a 为你的二维矩阵
L = isnan(a); % 找出为nan 的数据
[ix,iy] = find(L==1); % 找出为 nan 的元素在 a 中的行列值
for k = 1:size(ix,1)
a(ix(k),iy(k)) = ? % 将 nan 值重新赋值
end;
更多追问追答
追问
谢谢你的回答!还有:
将nan值进行插值赋值,能提供一个思路吗?谢谢!
追答
% 可以给个常数、前后或者上下的各种平均值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式