Math 3个值的插值

Math 3个值的插值,math,interpolation,algebra,Math,Interpolation,Algebra,我不是一个数学天才,所以我的问题定义不好。我有一个与三个整数相关的浮点值。以下是一个例子: 0.5 = { 1000, 984, 880 } 6 = { 1000, 949, 664 } 10 = { 999, 976, 801 } 现在假设我有三个新值,比如900920752。如何在这些记录之间进行插值并找到值,例如“4.53413424” 感谢您的阅读和所有评论。您可以(或许)将初始数据视为将三元组(或三维点)映射到数字的线性函数的定义。以下是如何继续: 设M为矩阵,其列为您拥有的三

我不是一个数学天才,所以我的问题定义不好。我有一个与三个整数相关的浮点值。以下是一个例子:

0.5 = { 1000, 984, 880 }
6   = { 1000, 949, 664 }
10  = { 999, 976, 801 }
现在假设我有三个新值,比如900920752。如何在这些记录之间进行插值并找到值,例如“4.53413424”

感谢您的阅读和所有评论。

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

  • M
    为矩阵,其列为您拥有的三元组

    [1000 1000 999
      984  949 976
      880  664 801]
    
  • invM
    M
    相反。在这种情况下:

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

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

     -891481/812496 * x + 22534/16927 * y -195953/812496 * z
    

  • 这是您正在寻找的数字(在数据的线性扩展下)

    将您的三胞胎视为三维空间中的点。您的信息可以被认为是映射时间(例如0.5、6或10)到空间中的点。现在,您在空间中拾取一个新点(例如,
    (900920752)
    ),并希望知道曲线何时通过该点。不幸的是,在给定的时间,有无数条曲线可以通过给定的数据。这些曲线可能会也可能不会碰巧通过
    (900920752)
    。因此,如果没有更多的信息(具体说明我们讨论的是哪条曲线),你的问题就没有单一的答案。你所说的“曲线”可能是线性的?对不起,我没有背景来更准确地表达这一点。我想我可以使用ApacheCommonsMath来解决这个任务。但到目前为止,我还不知道“我应该做什么”的一些术语,我找不到像代码示例这样的具体内容。我投票结束这个问题,因为它与编程或软件开发无关。