3

我有这样的源数据:

       35    40
-15    15.0  15.1
-10    17.2  17.4
-5     19.7  19.8

我需要在 (-16, 37) 中找到值。我已经尝试过线性插值,但我只能用 (x,y) 几个值来解决。你可以帮帮我吗?

非常感谢,安德里亚

4

7 回答 7

6

您可以尝试为您的数据安装飞机:

z=A*x+B*y+C

然后使用最小二乘法和 6 个点 (-15,35,15.0) 求解 A、B、C,... Excel 可能会为您找到最佳值。

编辑

在这里,我插入了您的数据(绿色单元格),并使用求解器工具构建了最优线性模型 z=A x+B y+C。(x 是 35,40,y 是 -15,-10,-5)。A,B,C 是左侧的蓝色单元格。那么粉红色的单元格是 A x+B y+C,红色的单元格是 (date-model)^2。误差是所有这 6 个红细胞的总和。

然后使用 Solver 工具(需要从 Excel 选项中激活)。将错误单元格定义为目标(最小化),将 A、B、C 定义为可变单元格。它将找到最佳的 A、B、C 值。

然后将这些值应用于您的请求(x=37 和 y=-16),结果为 14.5。

于 2009-09-08T12:55:47.030 回答
2

安德里亚,看起来试图帮助的人(包括我)仍然对你的数据有困难。

要在 excel 中对矩阵执行任何操作,您需要使用数组公式。输入完公式后,不要按 Enter。按 Ctrl + Shift + Enter 代替。如果您操作正确,您将在公式栏中看到您输入的公式被 {} 包围。

如果您认为您的数据是线性的,并且您想尝试@tom10 确定的方法,请尝试

=TREND(<known y's>,<known x's>,<new x's>)

它将为每个提供的新 x 返回一个新的 y 数组。

您也可以尝试矩阵公式。如果您可以将问题表达为线性方程组,则 excel 有一些矩阵公式。这里有一个很好的演练。如果您的矩阵是方形的,这些只会对您有所帮助。

于 2009-09-08T23:50:05.467 回答
1

线性插值将在给定范围内找到条目。即-5 >= x >= -15。要找到 -16 的值,您需要进行推断。

一种方法是将曲面拟合到点,例如求解 Ax = b) 或说它与 (-15, 37) 相同 - 因此取决于您的需求并选择正确的方法,这并不是本网站的真正意义。

如果您知道方法,我们可以告诉您如何计算它,但您应该通过显示代码来展示您尝试过的方法。

于 2009-09-08T12:11:41.120 回答
1

您可以通过处理这是三个独立的线性问题来做出合理的估计:

  1. 在恒定的 x 值(例如 35)处,使用三个 y 值和三个 z 值对一维数据进行线性拟合,以找到目标 y 值 (-16) 处的 z 值。称之为 Z 0
  2. 为 1。但现在为其他 x 值 (40)。称之为 Z 1
  3. 现在在另一个方向上进行拟合...在 y=-16 处,使用 (35, Z 0 ) 和 (40, Z 1 ) 来找到目标 x 值处的 Z 值。

这是一个近似值,而不是最佳解决方案,但我怀疑 Excel 是否进行了正确解决问题所需的多元分析——您可以在这些点上拟合曲面。虽然我不太了解Excel,并且可能出于无知而怀疑它。

于 2009-09-08T21:46:20.430 回答
1

Andrea,如果你想在 Excel 中使用 2D 分段双线性插值,我可以在这里推荐 VBA 函数?过去这对我来说效果很好。

于 2009-09-17T13:49:47.797 回答
1

xongrid的Interp2dTab函数可用于双线性插值

于 2014-01-07T20:30:05.793 回答
0

感谢大家,您的建议对我更好地理解问题非常有帮助。

一开始我以错误的方式提出了这个问题,因为我从数据的图形表示中得到了启发,一个矩阵。但是,经过一番“咕哝”之后:)我明白表示问题的正确方法是:

f(x1,x2) = y

       35    40
-15    15.0  15.1
-10    17.2  17.4
-5     19.7  19.8

所以,即 f(35, -15) = 15.0

要获得 x1 = 37 和 x2 = -13 的值,我可以使用双线性插值。问题的图形表示

http://en.wikipedia.org/wiki/File:Bilinear_interpolation.png

是我的灵感之光。

谢谢大家!

安德烈亚

于 2009-09-17T13:25:09.483 回答