插值为3个值

时间:2016-01-20 09:52:22

标签: math interpolation algebra

我不是一个数学精灵,所以我的问题很难定义。我有一个浮点值,它与三个整数相关。这是一个例子:

0.5 = { 1000, 984, 880 }
6   = { 1000, 949, 664 }
10  = { 999, 976, 801 }

现在让我说我有三个新值,如900,920,752。我如何在这些记录之间进行插值并找到值,例如“4.53413424”?

感谢您阅读和所有评论。

1 个答案:

答案 0 :(得分:0)

您可能(或许)将您的初始数据视为将三元组(或3D点)映射到数字的线性函数的定义。以下是如何继续:

  1. M为其列为您所拥有的三元组的矩阵

    [1000 1000 999
      984  949 976
      880  664 801]
    
  2. invM成为M的倒数。在这种情况下:

    [112085/1218744 -1912/16927 27949/1218744
       8837/152343  -1085/16927   877/152343
     -22718/152343   3000/16927 -4375/152343]
    
  3. 现在计算产品[0.5 6 10]invM。结果是三元组:

     [-891481/812496 22534/16927 -195953/812496]
    
  4. 最后,对于每个三重(x, y, z)计算它映射到的值

     -891481/812496 * x + 22534/16927 * y -195953/812496 * z
    
  5. 这是您要查找的号码(在数据的线性扩展下)