我有一个由两个输入(X,Y)计算出的函数V。由于计算非常复杂,我只在点网格上执行它,并希望依靠2D线性插值。现在我想要为固定的Y反转该函数。所以基本上我的出发点是:
X = [1,2,3];
Y = [1,2,3];
V =[3,4,5;6,7,8;9,10,11];
当然,在任何(X,Y)组合中获得V都是很容易的,例如:
Vq = interp2(X,Y,V,1.8,2.5)
提供
Vq =
8.3000
但是,我如何使用二维线性插值找到给定V和Y的X值?由于我需要经常执行此任务,因此需要一个快速易用的解决方案。
感谢您的帮助,非常感激您的努力。
P.
V = F(X,Y)
是单射吗?即,对于给定的V_q
是否只有一对(X_q, Y_q)
可以使得F(X_q, Y_q) == V_q
?否则将很难获得正确的一对。对于大于“max(V)
”和小于“min(V)
”的V_q
会发生什么?无论如何:一个技巧性的方法是,在(非常)细的网格上评估数据。然后找到最近距离min(abs(V_fine_grid-Vq))
,所需值将接近于矩阵中该位置。 - Nras