秦九韶算法PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解法二:列表
原多项式 的系数
2 -5 -4 3 -6 7
x=5
10 25 105 540 2670
2 5 21 108 534 2677
所以,当x=5时,多项式的值是2677. 多项式
的值.
7
2019/12/30
8
练一练:用秦九韶算法求多项式 f(x)=2x6-5x5-4x3+3x2-6x当x=5时的值.
[问题]画出程序框图,表示用秦九韶算法求5次多 项式f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0当x=x0 (x0是任意实数)时的值的过程,然后写出程序.
12
程序框图 开始
输入a0,a1,a2,a3,a4,a5 输入x0 n=1 v=a5
n≤5?
否
输出v
n=n+1
v=vx0+a5-n
教学重难点 重点:秦九韶算法的特点; 难点: 秦九韶算法的先进性理解 .
2
〖教学设计〗
[问题1]设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7 当x=5时的值的算法,并写出程序.
程序 x=5
f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7
PRINT f
END
点评:上述算法一共做了15次乘法运算,5次 加法运算.优点是简单,易懂;缺点是不通用,不能 解决任意多项多求值问题,而且计算效率不高.
是
程序
INPUT a0,a1,a2,a3,a4,a5
INPUT x0 n=1 v=a5 WHILE n<=5 v=vx0+a5-n n=n+1 WEND PRINT v END
结束
13
作业:
课本P35页练习T2; P38页A组T2.
14
2019/12/30
15
=((2x3-5x2-4x+3)x-6)x+7 v2=v1x-4=5×5-4=21
=(((2x2-5x-4)x+3)x-6)x+7 v3=v2x+3=21×5+3=108
=((((2x-5)x-4)x+3)x-6)x+7 v4=v3x-6=108×5-6=534
v5=v4x+7=534×5+7=2677
9
一般地,对于一个n次多项式 f(x)=anxn+an-1xn-1+an-2xn-2+……+a1x+a0. 我们可以改写成如下形式:
f(x)=(…(anx+an-1)x+an-2)x+…+a1)x+a0. 求多项式的值时,首先计算最内层括号内一 次多项式的值,即 v1=anx+an-1,
然后由内向外逐层计算一次多项式的值,即
算次数减少了,因而能提高运算效率.而且对于
计算机来说,做一次乘法所需的运算时间比做一
次加法要长得多,因此第二种做法能更快地得到
结果.
4
[问题3]能否探索出更好的算法,来解决任意多项式
的求值问题? f(x)=2x5-5x4-4x3+3x2-6x+7
v0=2
=(2x4-5x3-4x2+3x-6)x+7 v1=v0x-5=2×5-5=5
解:原多项式先化为:
f(x)=2x6-5x5 +0×x4-4x3+3x2-6x+0
列表 2 -5 0 -4 3 -6 0
x=5
10 25 125 605 30来自百度文库0 15170
2 5 25 121 608 3034 15170
所以,当x=5时,多项式的值是15170.
注意:n次多项式有n+1项,因此缺少哪一项 应将其系数补0.
所以,当x=5时,多项式的值是2677.
这种求多项式值的方法就叫秦九韶算法.
5
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
解法一:首先将原多项式改写成如下形式 : f(x)=((((2x-5)x-4)x+3)x-6)x+7
然后由内向外逐层计算一次多项式的值,即
v0=2
v1=v0x-5=2×5-5=5
v2=v1x-4=5×5-4=21
v3=v2x+3=21×5+3=108
v4=v3x-6=108×5-6=534 所以,当x=5时,多 v5=v4x+7=534×5+7=2677 项式的值是2677.
6
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
3
[问题2]有没有更高效的算法?
分析:计算x的幂时,可以利用前面的计算结 果,以减少计算量,
即先计算x2,然后依次计算
x 2 x ,(x 2 x ) x ,((x 2 x ) x ) x
的值. 这样计算上述多项式的值,一共需要9次乘 法运算,5次加法运算.
第二种做法与第一种做法相比,乘法的运
金昌市第二中学
路锋杰
1
三维目标 (a)知识与技能
了解秦九韶算法的计算过程,并理解利用秦九韶 算法可以减少计算次数提高计算效率的实质。 (b)过程与方法
模仿秦九韶计算方法,体会古人计算构思的巧妙. (c)情感态度与价值观
通过对秦九韶算法的学习,了解中国古代数学家 对数学的贡献,充分认识到我国文化历史的悠久。
v2=v1x+an-2, v3=v2x+an-3, ……, vn=vn-1x+a0.
这样,求n次多项式f(x)的值就转化为求n个 一次多项式的值.这种算法称为秦九韶算法.
10
点评:秦九韶算法是求一元多项式的 值的一种方法.
它的特点是:把求一个n次多项式的值 转化为求n个一次多项式的值,通过这种转 化,把运算的次数由至多n(n+1)/2次乘法 运算和n次加法运算,减少为n次乘法运算 和n次加法运算,大大提高了运算效率.
11
v1=anx+an-1,
v2=v1x+an-2,
v3=v2x+an-3, ……, vn=vn-1x+a0.
观察上述秦九韶算法中的n个一次式,可见 vk的计算要用到vk-1的值. 若令v0=an,得
v0=an,
vK=vK-1x+an-k(k=1,2,……,n
这是一个在秦九韶算法中反复执行的步 骤,因此可用循环结构来实现.