拉格朗日多项式:意外的插值结果
Lagrange polynomial: Unexpected interpolation results
我正在尝试使用第二拉格朗日多项式对一系列数据点进行插值。
拥有
point1:(5;100)
point2: (9;17)
point3: (12;17)
和公式
y=(x-x2)*(x-x3)/(x1-x2)*(x1-x3)*y1+
(x-x1)*(x-x3)/(x2-x1)*(x2-x3)*y2+
(x-x1)*(x-x2)/(x3-x1)*(x3-x2)*y3
很明显,二次函数可能不适合数据。这只是一个例子。
但我想知道为什么 x=7
的值出奇地高。
如果我没记错的话 y=1500
.
上面的公式对吗?
公式应该是correct.but当x=17,你有两个不同的y值,这可能是trouble.you的原因可以尝试改变antor x。
答案:
总结:
- 对于相同的
x
,不能有两个不同的y
值;这违反了函数的定义。
- 您的公式中缺少括号!不是
(x-x2)*(x-x3)/(x1-x2)*(x1-x3)
,而是 ((x-x2)*(x-x3)) / ((x1-x2)*(x1-x3))
.
- 回到1>,注意插值公式的分母中有
x3-x2
。如果您有绑定值,您将除以 0。
- 如何对这么小的数据集进行插值?然而你要求的是二次插值!
后续:
1) fixed it. Accidentally i switched all the x and y values. So the points were in format (y,x).
啊哈哈,难怪
2) Thank you! The brackets improved the approximation. Regarding the missing brackets: I got the formula from the accepted answer here: Best way to find Quadratic Regression Curve in Java, but I don't understand this rule.
这就是著名而又基础的插值法:拉格朗日插值法。您可以在 Wolfram mathworld: Lagrange Interpolating Polynomial 验证其公式。我不给你维基百科link因为这个看起来更漂亮
您找到的 link 肯定有错字。既然您建议修改以修复该问题,希望它能很快获得批准。
3) It is a (significant larger (which answers your 4th question) time series. So it is impossible to have tied values.
是的,时间序列不会有绑定值。
我正在尝试使用第二拉格朗日多项式对一系列数据点进行插值。 拥有
point1:(5;100)
point2: (9;17)
point3: (12;17)
和公式
y=(x-x2)*(x-x3)/(x1-x2)*(x1-x3)*y1+
(x-x1)*(x-x3)/(x2-x1)*(x2-x3)*y2+
(x-x1)*(x-x2)/(x3-x1)*(x3-x2)*y3
很明显,二次函数可能不适合数据。这只是一个例子。
但我想知道为什么 x=7
的值出奇地高。
如果我没记错的话 y=1500
.
上面的公式对吗?
公式应该是correct.but当x=17,你有两个不同的y值,这可能是trouble.you的原因可以尝试改变antor x。
答案:
总结:
- 对于相同的
x
,不能有两个不同的y
值;这违反了函数的定义。 - 您的公式中缺少括号!不是
(x-x2)*(x-x3)/(x1-x2)*(x1-x3)
,而是((x-x2)*(x-x3)) / ((x1-x2)*(x1-x3))
. - 回到1>,注意插值公式的分母中有
x3-x2
。如果您有绑定值,您将除以 0。 - 如何对这么小的数据集进行插值?然而你要求的是二次插值!
后续:
1) fixed it. Accidentally i switched all the x and y values. So the points were in format (y,x).
啊哈哈,难怪
2) Thank you! The brackets improved the approximation. Regarding the missing brackets: I got the formula from the accepted answer here: Best way to find Quadratic Regression Curve in Java, but I don't understand this rule.
这就是著名而又基础的插值法:拉格朗日插值法。您可以在 Wolfram mathworld: Lagrange Interpolating Polynomial 验证其公式。我不给你维基百科link因为这个看起来更漂亮
您找到的 link 肯定有错字。既然您建议修改以修复该问题,希望它能很快获得批准。
3) It is a (significant larger (which answers your 4th question) time series. So it is impossible to have tied values.
是的,时间序列不会有绑定值。