简单的Matlab插值。要避免interp2或interp3吗

简单的Matlab插值。要避免interp2或interp3吗,matlab,Matlab,我有一个三维矩阵,它的维数是ZXY,我把它简化为二维(大小是Z*(X*Y)。我想把这个矩阵插值为一个特定的Y值,比如Y,基本上把矩阵简化为Z,X 如何在Matlab中有效地实现这一点 我希望避免将矩阵重塑为尺寸ZXY,然后再执行interp3 interp3(X,Z,Y,reshape(MATRIX,[Z X Y]),X,Z,y) 因为这似乎是在二维之间使用插值,我不需要插值。我可以做插值(线性)在y点手动,但我相信在Matlab中有一个很好的方法可以做到这一点。非常感谢您的帮助。所以您只想基

我有一个三维矩阵,它的维数是ZXY,我把它简化为二维(大小是Z*(X*Y)。我想把这个矩阵插值为一个特定的Y值,比如Y,基本上把矩阵简化为Z,X

如何在Matlab中有效地实现这一点

我希望避免将矩阵重塑为尺寸ZXY,然后再执行interp3

interp3(X,Z,Y,reshape(MATRIX,[Z X Y]),X,Z,y)

因为这似乎是在二维之间使用插值,我不需要插值。我可以做插值(线性)在y点手动,但我相信在Matlab中有一个很好的方法可以做到这一点。非常感谢您的帮助。

所以您只想基于y分量进行插值?基本上,您必须找到
y0
,其中
y0对不起,
c
1-c
。是的,这会起作用,但随后我必须重塑为三维矩阵首先是x,我想避免,因为这是一个我必须重复多次的操作。现在我正在找到y0,然后我在正确的点手动插值二维矩阵。正如你所说,这有点逻辑。我只是认为可能有一个更简单的方法。感觉这在某种程度上是一个interp1。当然,它是
interp1
,只是对于一堆同时出现的
X,Z
索引,手动操作应该是最快的。你要么要重塑,要么要解决后勤问题,但是没有其他选择,cherry可以从
Z*(X*y)
线性索引中为你绘制
y
索引:)这应该不会对矩阵(:,y0,:)造成太大的伤害
类似于
MATRIX_lin(:,1:X+(y0-1)*X)
或者相反,这取决于构建
X*Y
大小的维度的方式。请注意,使用我所说的vs
interp3
不仅仅是一个方便和高效的问题:在上述情况下,您插值数据立方体的整个平面,然后使用它,而使用
interp3
时,考虑到近邻(例如使用三线性插值),您可以单独插值新数据点。如果他们给出同样的结果,我会感到惊讶。