我有一个尺寸为27x4的矩阵,现在我想插入矩阵并用相同的宽高比绘制它。我一直在使用interp2,但因为它在每一步之后填充现有值之间的值,所以矩阵在2 * n-1维度上增长,这导致高度增长快于宽度。
有没有一种方法可以插入一个矩阵,只用内插值来填充新矩阵,而没有原始值,也就是说两个尺寸加倍的矩阵?是我能想到的唯一方法是插值interp2到更高的程度,然后选择值,但这将非常低效。
答案 0 :(得分:0)
interp2
应该可以正常工作,它必须是你如何定义最后2个参数。试试这个:
Z = rand(4,27);
x = 1:27;
y = 1:4;
[X, Y] = meshgrid(x, y)
xi = linspace(1, 27, 1000);
yi = linspace(1, 4, 1000 * (4/27)); % The 4/27 here is what ensures you keep the aspect ratio
[XI, YI] = meshgrid(xi, yi);
ZI = interp2(X,Y,Z,XI,YI);
检查宽高比
size(ZI,1) / size(ZI,2)
ans =
0.1480
size(Z,1) / size(Z,2)
ans =
0.1481
但基本上您需要确保的是,上面代码中xi
和yi
的宽高比与您的原始版本相匹配。很容易概括。