我正在尝试为多维线性插值编写VBA代码,我非常感谢您的帮助,因为我不知道从哪里开始。
我有一组变量,在这个例子中我们称之为X,Y,Z,但变量的数量在最终的宏中会有所不同。 每个变量可以采用许多不同的值。所以在这个例子中
X可以是1,2,
Y可以是10,20,30
Z可以是100,200,300,400
这给了我2 * 3 * 4 = 24种可能的情况。每个场景对应一个值F(x,y,z)。
这给了我一个看起来像这样的网格 combination grid
现在对于一组给定的X,Y,Z值,比如说(1.5,21,390) 我想在每个维度上进行线性插值,以根据上面的网格得到f(1.5,21,390)的近似值。
我会在2 ^ 3 = 8个场景(如下所示)中使用f的值来计算该近似值。 Scenario used for linear interpolations 对于每个场景,我得到一个权重(这是通过每个维度中的线性插值获得的权重的乘积),我正在寻找的近似值是每个场景中f的加权平均值。
因此第一个场景的权重为0.5 * 0.9 * 0.1等
所有变量都是动态的(变量的数量和每个变量可以采用的值的数量会有所不同)
如果能达到预期的效果,我真的很感激任何帮助或提示。
非常感谢