我有4个矩阵的已知(角点)值:
grid = [2 5
5 8];
这个值是我的角落,我想在它们之间插值,我得到一个非平方矩阵,例如350x250矩阵。
我搜索了一些熟悉的问题,但我找不到解决方案,或者无法将其转移到我的问题中。我找到了interp2
函数,但没有告诉我如何判断我只有4个角值?
我做了一个简单的例子来说明我需要什么,什么不起作用(或者我做错了什么):
test = [2 0 0 0 8
0 0 0 0 0
6 0 0 0 12 ];
[X, Y] = meshgrid(1:5,1:3);
M = interp2(X,Y,test,X,Y);
结果矩阵与输入矩阵test
完全相同。如何插入零?一般来说,我的输入只是这个:
grid = [2 8; 6 12];
答案 0 :(得分:0)
经过长时间的思考,我找到了解决方案:
x = 350;
y = 250;
V = [2 8
6 12];
[X, Y] = meshgrid(1:2,1:2);
a = linspace(1,2,x);
Xq = a(ones(1,y),:); % oder repmat([1 n], y);
b = linspace(1,2,y)';
Yq = b(:,ones(1,x));
M = interp2(X,Y,V,Xq,Yq);
我希望它可以帮助任何有同样问题的人,我不明白最终尺寸只是在最后两个参数中。