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

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

(1) p ( x ) = a 0 x n + a 1 x n 1 + + a n 1 x + a n


x 处的函数值 p ( x )

我们采用以下方法:

p ( x ) = ( ( a 0 x + a 1 ) x + + a n 1 ) x + a n

它可以表示为
(2) { b 0 = a 0 b i = b i 1 x + a i , i = 1 , 2 , , n

b n = p ( x ) 为所求。


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

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

p ( x ) = ( x x ) ( b 0 x n 1 + + b n 2 x + b n 1 ) + b n

q ( x ) = b 0 x n 1 + + b n 2 x + b n 1 ,则有
p ( x ) = ( x x ) q ( x ) + p ( x )

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

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

猜你喜欢

转载自blog.csdn.net/Mrfive555/article/details/79450336