Python中的Lagrange插值:结果的数学形式

2024-04-26 21:01:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用拉格朗日插值来计算几个点。因此,我需要数学公式,例如:

Lx=[1,2,3],
Ly=[1,4,9],
result = x^2 

我得到的不是这个"-4.0*X*(-0.5*X - 1.0)*(-0.2*X + 0.2)*(-0.142857142857143*X +..."

当我用例5代替X(第12行)时,我得到“25”,正确答案。 有人能帮我吗?在

^{pr2}$

Tags: 答案lyresult用例数学公式插值lxpr2
1条回答
网友
1楼 · 发布于 2024-04-26 21:01:33

这可能是由于浮点舍入。简化给出:

In [10]: sympy.simplify(Lagrange(Lx,Ly))
Out[10]: X*(1.85037170770859e-17*X**2 + 1.0*X - 1.11022302462516e-16)

基本上是X**2。尝试删除这些float类型转换:

^{pr2}$

给我:

In [30]: Lx=[-4,-2,0,1,3]
In [31]: Ly=[16,4,0,1,9.]
In [32]: print Lagrange(Lx,Ly)
Out[32]: 1.0*X**2

相关问题 更多 >