拉格朗日插值法
上篇指出函数 f ( x ) f(x) f(x)的插值可以用一个多阶多项式 P ( x ) P(x) P(x)表示:
P ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n x n P(x)=a_0+a_1x+a_2x^2+\dots+a_nx^n P(x)=a0+a1x+a2x2+⋯+anxn
拉格朗日插值法将一个多阶多项式拆分为多个多阶多项式的和,当出现新的节点值时,需要重新计算各多项式,提升了计算量。牛顿插值法解决了重新计算的问题。
牛顿插值的递推
牛顿插值法使用了递推的思想。对于未知表达式的函数 f ( x ) f(x) f(x),知道其节点 ( x 0 , f ( x 0 ) ) , ( x 1 , f ( x 1 ) ) , … , ( x n , f ( x n ) ) (x_0,f(x_0)),(x_1,f(x_1)),\dots,(x_n,f(x_n)) (x0,f(x0)),(x1,f(x1)),…,(xn,f(xn))。
假设 f k ( x ) f_k(x) fk(x)是采样完一个节点后的插值结果。第一次插值需要满足节点 ( x 0 , f ( x 0 ) ) (x_0,f(x_0)) (x0,f(x0)):
f 0 ( x ) = f ( x 0 ) f 0 ( x 0 ) = f ( x 0 ) f_0(x)=f(x_0) \\ f_0(x_0)=f(x_0) f0(x)=f(x0)f0(x0)=f(x0)
对于第二次插值,需要满足节点 ( x 0 , f ( x 0 ) ) , ( x 1 , f ( x 1 ) ) (x_0,f(x_0)),(x_1,f(x_1)) (x0,f(x0)),(x1,f(x1)):
f 1 ( x ) = f 0 ( x ) + b 1 ( x − x 0 ) f 1 ( x 0 ) = f ( x 0 ) f i n d : b 1 s . t . f 1 ( x 1 ) = f 0 ( x 1 ) + b 1 ( x 1 − x 0 ) = f ( x 1 ) b 1 = f ( x 1 ) − f ( x 0 ) x 1 − x 0 f_1(x)=f_0(x)+b_1(x-x_0) \\ f_1(x_0)=f(x_0) \\ \quad \\ find:\quad b_1 \\ s.t.\quad f_1(x_1)=f_0(x_1)+b_1(x_1-x_0)=f(x_1) \\ \quad \\ b_1=\frac{f(x_1)-f(x_0)}{x_1-x_0} f1(x)=f0(x)+b1(x−x0)f1(x0)=f(x0)find:b1s.t.f1(x

最低0.47元/天 解锁文章
5269

被折叠的 条评论
为什么被折叠?



