《1.3.2秦九韶算法》课件[精选].ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《1.3.2秦九韶算法》课件[精选]

案例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次加法运算.优点是简单,易懂;缺点是不通用,不能解决任意多项多求值问题,而且计算效率不高. 这时,计算上述多项式的值,一共需要9次乘法运算,5次加法运算. [问题2]有没有更高效的算法? 分析:计算x的幂时,可以利用前面的计算结果,以减少计算量 即先计算x2,然后依次计算 x2 ? x , (x2 ? x) ? x , ((x2 ? x) ? x) ? x的值.   第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率.而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果. [问题3]能否探索更好的算法,来解决任意多项式的求值问题? f(x)=2x5-5x4-4x3+3x2-6x+7 =(2x4-5x3-4x2+3x-6)x+7 =((2x3-5x2-4x+3)x-6)x+7 =(((2x2-5x-4)x+3)x-6)x+7 =((((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 v5=v4x+7=   534×5+7=2677 所以,当x=5时,多项式的值是2677. 这种求多项式值的方法就叫秦九韶算法. 例3:用秦九韶算法求当x = 5时多项式 f (x) = 2x5 – 5x4 – 4x3 + 3x2 – 6x + 7的值. 解法一:首先将原多项式改写成如下形式 : 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 v5=v4x+7=534×5+7=2677 所以,当x=5时,多项式的值是2677. 然后由内向外逐层计算一次多项式的值,即 2 -5 -4 3 -6 7 x=5 10 5 25 21 105 108 540 534 2670 2677 所以,当x=5时,多项式的值是2677. 原多项式的系数 多项式的值. 解法二:列表 2 例3:用秦九韶算法求当x = 5时多项式 f (x) = 2x5 – 5x4 – 4x3 + 3x2 – 6x + 7的值. 2 -5 0 -4 3 -6 0 x=5 10 5 25 25 125 121 605 608 3040 3034 所以,当x=5时,多项式的值是15170. 练一练:用秦九韶算法求多项式 f(x)=2x6-5x5-4x3+3x2-6x当x=5时的值. 解:原多项式先化为: f(x)=2x6-5x5 +0×x4-4x3+3x2-6x+0 列表 2 15170 15170 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, 然后由内向外逐层计算一次多项式的值,即 一般地,对于一个n次多项式 v2=v1x+an-2, v3=v2x+an-3, ……, vn=vn-1x+a0. 这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.这种算法称为秦九韶算法. 秦九韶算法是求一元多项式的值的一种方法. 它的特点是:把求一个n次多项式的值转化为求n个一次多项式的值,通过这种转化,把运算的次数由至多n(n+1)/2次乘法运算和n次加法运算,减少为n次乘法运算和n次加法运算,大大提高了运算效率. 思考 v1=anx+an-1, v2=v1x+an-2, v3=v2x+an-3, ……, vn=vn-1x

您可能关注的文档

文档评论(0)

jsntrgzxy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档