秦九韶算法求多项式某一点处的值或导数

设法减少算法中乘法或加法的数量,是提升算法性能的方法之一。秦九韶算法就是其中的范例。
设给定多项式

p(x)=a0xn+a1xn1++an1x+an(1) (1) p ( x ) = a 0 x n + a 1 x n − 1 + ⋯ + a n − 1 x + a n


x x ∗ 处的函数值 p(x) p ( x ∗ )

我们采用以下方法:

p(x)=((a0x+a1)x++an1)x+an p ( x ) = ( ⋯ ( a 0 x + a 1 ) x + ⋯ + a n − 1 ) x + a n

它可以表示为
{b0=a0bi=bi1x+ai,i=1,2,,n(2) (2) { b 0 = a 0 b i = b i − 1 x ∗ + a i , i = 1 , 2 , ⋯ , n

bn=p(x) b n = p ( x ∗ ) 为所求。


求多项式 p(x) p ( x ) x x ∗ 处的导数值 p(x) p ′ ( x ∗ )

由(2)式得 ai=bibi1x a i = b i − b i − 1 x ∗ ,代入(1)式并化简

p(x)=(xx)(b0xn1++bn2x+bn1)+bn p ( x ) = ( x − x ∗ ) ( b 0 ⋅ x n − 1 + ⋯ + b n − 2 ⋅ x + b n − 1 ) + b n

q(x)=b0xn1++bn2x+bn1 q ( x ) = b 0 ⋅ x n − 1 + ⋯ + b n − 2 ⋅ x + b n − 1 ,则有
p(x)=(xx)q(x)+p(x) p ( x ) = ( x − x ∗ ) q ( x ) + p ( x ∗ )

这个实际上是 余数定理的结论
对上式求导
p(x)=q(x)+(xx)q(x) p ′ ( x ) = q ( x ) + ( x − x ∗ ) q ′ ( x )

代入 x=x x = x ∗
p(x)=q(x) p ′ ( x ∗ ) = q ( x ∗ )

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值