问题描述
|
我有两个矩阵
A
和B
,它们包含以下形式的棋盘格/棋盘格网格的值
AxAxAxAx...
xBxBxBxB...
AxAxAxAx...
xBxBxBxB...
...........
...........
x
代表我想(线性)插值的未知值。实现此目的的最简单方法是什么?
第一件事可能是
C = zeros(size(A)+size(B));
C(1:2:end,1:2:end) = A;
C(2:2:end,2:2:end) = B;
获得上述矩阵。现在我可以遍历所有剩余点并取所有直接邻居的平均值,因为1)matlab中的for
循环很慢,并且2)当然可以使用interp2
,尽管这似乎需要像meshgrid
的网格。那么,这可以更容易/更快地完成吗?
解决方法
多亏了woodchips的回答,我找到了他的inpaint_nans,解决方案确实很简单:
C = nan(size(A)+size(B));
C(1:2:end,1:2:end) = A;
C(2:2:end,2:2:end) = B;
C = inpaint_nans(C);