13算法案例-三秦九韶算法

合集下载

秦九韶算法介绍和实例分析

秦九韶算法介绍和实例分析

秦九韶算法介绍和实例分析具体而言,秦九韶算法通过构建一个累加器,用来存储每一次迭代计算的结果。

首先,将多项式的最高次项系数存入累加器中。

然后,通过迭代计算,将每一个次高次项的系数与上一次迭代的结果相乘,并加上该项的常数部分。

依次迭代计算,直到将所有的项都计算完毕。

最终,累加器中的值即为多项式的求值结果。

下面以一个实例来说明秦九韶算法的应用。

假设我们要求解如下多项式的值:P(x)=2x^4+3x^3-5x^2+6x-4首先,我们可以将多项式表示为累加的形式:P(x)=(((2x+3)x-5)x+6)x-4然后,我们可以使用秦九韶算法进行计算。

首先,将最高次项系数2存入累加器中。

累加器=2接下来,进行迭代计算。

首先,将累加器乘以x,并加上次高次项的常数部分3,得到结果5x+3累加器=(5x+3)然后,将累加器再次乘以x,并加上次高次项的常数部分-5,得到结果-5x^2+(5x+3)。

累加器=(-5x^2+5x+3)依次类推,进行下一次迭代计算。

最终,得到累加器的值为-4累加器=(-4)因此,多项式P(x)在x=1处的值为-4通过以上实例分析,我们可以看到,秦九韶算法通过使用累加的方式进行计算,大大减少了乘法和加法运算的次数,提高了算法的效率。

在实际应用中,秦九韶算法常用于求解多项式的值,例如在计算机图形学中,可用于求解曲线上的点的坐标。

同时,该算法还可以用于多项式的除法和求导等运算中。

总结起来,秦九韶算法是一种用于求解多项式的高效算法,通过使用累加的方式进行计算,减少了乘法和加法运算的次数。

该算法在实际应用中具有广泛的应用价值,可以提高计算效率,同时也为其他相关运算提供了基础。

1.3算法案例-秦九韶算法教学设计

1.3算法案例-秦九韶算法教学设计

1.3算法案例(二)__秦九韶算法一、内容及其解析本节的教学内容是算法案例中的秦九韶算法,它是求一元多项式的值的一种方法.在初中,学生已经学习了多项式的有关知识,那里是把多项式看作代数式.因此在本段内容的教学之前,应当先向学生说明,这里是函数的观点考察多项式,因此,求自变量取某个实数时的函数值问题,即求多项式的值就是一个常规问题.二、教学目标及其解析目标定位知识与技能:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质.过程与方法:模仿秦九韶计算方法,体会古人计算构思的巧妙.了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用.情感态度与价值观目标:通过对秦九韶算法的学习,了解中国古代数学对世界数学发展的贡献,充分认识到我国文化历史的悠久.目标解析1 秦九韶算法是我国南宋数学家秦九韶在他的代表作《数书九章》中提出的一种用于计算一元n 次多项式的值的方法.三、问题诊断分析在本节主要存在的问题是学生不能对秦九韶算法的先进性及其程序设计的理解,所以教师要强调当多项式的次数增大时,此种方法的先进性就体现出来了,所以教师要找到规律,让学生体会此种解法的先进性.四、教学支持条件分析的一般模式在本节课的教学中准备使用多媒体辅助教学.五、教学过程设计问题一 什么事了解秦九韶算法?小问题1 怎样求多项式1)(2345+++++=x x x x x x f 当x=5时的值呢?(设计意图:通过具体的例子引入秦九韶算法.)结论:第一种一共用了10次乘法运算,5次加法运算.而第二种一共用了5次乘法运算,5次加法运算.小问题2 用秦九韶算法求n 次多项式0111...)(a x a x a x a x f n n n n ++++=--当0x x =(0x 是任意实数)时的值,需要多少次乘法运算,多少次加法运算?小问题 3 如何用秦九韶算法完成一般多项式1110()n n n n f x a x a x a x a --=++++的求值问题?要求多项式的值,我们可以把它改写成:11101210()(()))n n n n n n n f x a x a x a x a a x a x a x a x a ----=++++=+++++.首先计算最内层括号内一次多项式的值,即11n n v a x a -=+,然后由内向外逐层计算一次多项式的值,即212n v v x a -=+,323n v v x a -=+,,10n n v v x a -=+.例题1 (课本第38页例2)(设计意图:从实例到一般,先总结实例进而引申到一般) 变式巩固 用秦九韶算法求多项式1432)(2367+-+-=x x x x x f 当x=2时的函数值.小问题4 你是怎么理解秦九韶算法的?结论:秦九韶算法将求n 次多项式的值转化为求n 个一次多项式的值.课堂小结(提问方式)秦九韶算法计算多项式的值及程序设计上述的整个过程只需n 次乘法运算和n 次加法运算;观察上述n 个一次式,可发出k v 的计算要用到1k v -的值,若令0n v a =,可得到下列递推公式:01,(1,2,,)n k k n k v a v v x a k n --=⎧⎨=+=⎩. 这是一个反复执行的步骤,因此可用循环结构来实现.【程序框图】:六 目标检测1、利用秦九韶算法求多项式1153723+-+x x x 在23=x 的值时,在运算中下列哪个值用不到( )A 、164B 、3767C 、86652D 、851692、利用秦九韶算法求多项式1352.75.38123)(23456-++-++=x x x x x x x f 在2=x 的值,写出详细步骤.七 配餐作业A 组②秦九韶算法计算多项式f(x)=12+35x-8x 2+79x 3+6x 4+5x 5+3x 6,当x=-4时的值时,υ3的值为( )A .-845B .220C .-57D .34③用秦九韶算法,求当x=2时,f(x)=x 5-5x 4+x 3-1的函数值.B 组1.秦九韶算法与直接计算相比较,下列说法错误的是( )A 、秦九韶算法与直接计算相比较,大大减少了乘法的次数,使计算量减少,并且逻辑结构简单.B 、秦九韶算法减少了做乘法的次数,在计算机上也就加快了计算的速度.C 、秦九韶算法减少了做乘法的次数,在计算机上也就降低了计算的速度.D 、秦九韶算法避免对自变量x 单独做幂的计算,而是与系数一起逐次增长幂次,从而可提高计算的精度.2.用秦九韶算法和直接算法求当0x x =时()654323126016024019264f x x x x x x x =-+-+-+的值,做的乘法次数分别为( )A.6,20B.7,20C.7,21D.6,21C 组求15.033.016.041.083.0)(2345+++++=x x x x x x f 当x=5时的值.八、教学反思1、学生还是不会分析运算次数的问题,应该给学生详细讲解.2、学生在多项式 11101210()(()))n n n n n n n f x a x a x a x a a x a x a x a x a ----=++++=+++++按照秦九韶算法写成标准形式是容易出错,且速度很慢,应教会学生快速的写法及检验方法.3、应多给学生介绍一些有关秦九韶算法的背景知识,这样更能吸引学生的注意力和学习兴趣,另外介绍历史名人的大致成就,扩大学生的文化视野.。

1.3算法案例---秦九韶算法PPT优秀课件

1.3算法案例---秦九韶算法PPT优秀课件
87.当一切毫无希望时,我看着切石工人在他的石头上,敲击了上百次,而不见任何裂痕出现。但在第一百零一次时,石头被劈成两半。我体会到,并非那一击,而是前面的敲打使它裂开。――[贾柯·瑞斯] 88.每个意念都是一场祈祷。――[詹姆士·雷德非]
89.虚荣心很难说是一种恶行,然而一切恶行都围绕虚荣心而生,都不过是满足虚荣心的手段。――[柏格森] 90.习惯正一天天地把我们的生命变成某种定型的化石,我们的心灵正在失去自由,成为平静而没有激情的时间之流的奴隶。――[托尔斯泰]
21.05.2019
在数学的发展史上,从公元前2、3世 纪公元14世纪,中国的数学虽有过高潮, 也有过低落,但一直走在世界的前列,是 世界数学的中心。中国古代数学对世界数 学发展有着不可磨灭的贡献。秦九韶算法 就是中国古代数学的一枝奇葩。 今天这节课我们领略秦九韶算法的魅力。
21.05.2019
பைடு நூலகம்
江西省赣州一中刘利剑 整理 heishu800101@
94.对一个适度工作的人而言,快乐来自于工作,有如花朵结果前拥有彩色的花瓣。――[约翰·拉斯金] 95.没有比时间更容易浪费的,同时没有比时间更珍贵的了,因为没有时间我们几乎无法做任何事。――[威廉·班] 96.人生真正的欢欣,就是在于你自认正在为一个伟大目标运用自己;而不是源于独自发光.自私渺小的忧烦躯壳,只知抱怨世界无法带给你快乐。――[萧伯纳]
(3)若将x的值代入变形后的式子 中,那么求值的计算过程是怎样的?
将变形前x的系数乘以x的值,加上变形前 的第2个系数,得到一个新的系数;将此系数 继续乘以x的值,再,加上变形前的第3个系数, 又得到一个新的系数;继续对新系数做上面的 变换,直到与变形前的最后一个系数相加,得 到一个新的系数为止。这个系数即为所求多项 式的值。这种算法即是“秦九韶算法”

数学13《算法案例---秦九韶算法》测试

数学13《算法案例---秦九韶算法》测试

数学13《算法案例---秦九韶算法》测试《算法案例---秦九韶算法》测试1.请简述秦九韶算法的原理和应用领域。

(200字)秦九韶算法是一种用于求解多项式的算法,其原理是利用多项式的迭代运算,通过不断累加、相乘的方式快速计算多项式的值。

在秦九韶算法中,我们可以将多项式表示为P(x) = a0 + a1 * x + a2 * x^2 + ... + an * x^n,其中a0、a1、a2 ... an分别为多项式的系数,n为多项式的最高次数。

秦九韶算法的关键在于利用迭代运算,通过反复累加和相乘的操作,将多项式的求解过程化简为一个简单的数值计算。

具体来说,我们可以将多项式P(x)的求解过程表示为以下形式:P(x) = (...((an * x + an-1) * x + an-2) * x + ...) * x + a0。

秦九韶算法的应用领域十分广泛。

在数学领域,它可以用于高等代数学、微积分和数值分析等方面的多项式计算。

在计算机科学领域,秦九韶算法可以用于实现多项式的编程计算和求解,例如图像处理、信号处理、数据压缩等方面的应用。

2.请说明秦九韶算法的时间复杂度和空间复杂度,并分析其优势和劣势。

(400字)秦九韶算法的时间复杂度为O(n),其中n为多项式的最高次数。

它的空间复杂度为O(1),因为该算法只需要少量的变量对计算过程进行临时存储,并不需要额外的空间。

秦九韶算法的优势在于其计算速度快,尤其适用于对多项式进行大量计算的情况。

通过不断累加和相乘的运算,可以在较短的时间内得到多项式的值。

相比传统的直接计算法,秦九韶算法具有更高的效率。

然而,秦九韶算法也存在一些劣势。

首先,该算法需要事先知道多项式的系数,如果系数未知或需要动态获取,则无法使用该算法。

其次,秦九韶算法对于多项式次数较高的情况,计算过程中可能会有较大的误差累积,从而影响计算结果的准确性。

此外,秦九韶算法只适用于一维的多项式计算,对于多维的多项式计算并不适用。

1.3 算法案例2-秦九韶算法

1.3  算法案例2-秦九韶算法

2. 利用秦九韶算法求n次多项式f(x)的值的步骤:
先把n次多项式f(x)改写成如下形式: f(x)=(…((anx+an-1)x+an-2)x+…+a1)x+a0. 再按照从内到外的顺序 , 依次计算一次多项 式的值, 即 v1=anx+an-1 ;
注意: 用秦九韶算法
计 算 n 次 多 项 式 f(x) 的 值时,一共需要n次乘法 运算和n次加法运算.
解: f(x)=((((0.83x+0.41)x+0.16)x+0.33)x+0.5)x+1
当x=5时, v1=0.83×5+0.41=4.56; v2=4.56×5+0.16=22.96; v3=22.96×5+0.33=115.13; v4=115.13×5+0.5=576.15; v5=576.15×5+1=2881.75. 所以, f(5)=2881.75.
作业: P48 A组 T2
思考2:阅读下列程序,说明它是解决什么的 问题算法?
INPUT “x=”;a n=0 y=0 WHLE n<5 y=y+(n+1)*a∧n n=n+1 WEND PRINT y END
求多项式f(x)=1+2x+3x2+4x3+5x5在x=a时的值.
当x=5时, v1=5×5+2=27; v2=27×5+3.5=138.5; v3=138.5×5-2.6=689.9; v4=689.9×5+1.7=3451.2; v5=3451.2×5-0.8=17255.2. 所以, f(5)=17255.2.
2

算法案例—秦九韶算法.ppt

算法案例—秦九韶算法.ppt
方法二:先计算x2的值,然后依次计算x2·x,(x2·x)·x,
((x2·x)·x)·x的值,这样每次都可以利用上一次计算的结果.
9次乘法运算,5次加法运算
与第一种做法相比,这种做法中,乘法的运算次数减少了, 因而能提高运算效率.而且对于计算机来说,做一次乘法所需的 运算时间比做一次加法要长得多,因此第二种做法能更快地得 到结果.
秦九韶算法
秦九韶和《数书九章》
秦九韶
秦九韶(约公元1202年-1261年),字 道古,南宋末年人,出生于鲁郡(今山东 阜一带人)
据史书记载,他“性及机巧,星象、 音律、算术以至营造无不精究”,还尝从李 梅亭学诗词。他在政务之余,以数学为主线 进行潜心钻研,且应用范围至为广泛:天文 历法、水利水文、建筑、测绘、农耕、军事、 商业金融等方面。
问题1:怎样求多项式f(x)=2x5-5x4-4x3+3x2-6x+7 当x=5时的值?
方法三:能否有更好的算法,解决任意多项式的求值问题?
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
问题1:怎样求多项式f(x)=2x5-5x4-4x3+3x2-6x+7 当x=5时的值?
方法三:能否有更好的算法,解决任意多项式的求值问题?
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

《算法案例:秦九韶算法》教学教案

《算法案例:秦九韶算法》教学教案

《算法案例:秦九韶算法》教学教案第一篇:《算法案例:秦九韶算法》教学教案秦九韶算法学习目标1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。

2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。

学习重难点重点:1.秦九韶算法的特点2.两种排序法的排序步骤及计算机程序设计难点:1.秦九韶算法的先进性理解2.排序法的计算机程序设计学法与学习用具学法:1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。

2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。

学习用具:电脑,计算器,图形计算器学习设想(一)创设情景,揭示课题我们已经学过了多项式的计算,下面我们计算一下多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值,并统计所做的计算的种类及计算次数。

根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。

我们把多项式变形为:f(x)=x2(1+x(1+x(1+x)))+x+1再统计一下计算当x=5时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。

显然少了6次乘法运算。

这种算法就叫秦九韶算法。

(二)研探新知/ 41.秦九韶计算多项式的方法f(x)=anxn+an-1xn-1+an-2xn-2+Λ+a1x+a0=(anxn-1+an-1xn-2+an-2xn-3+Λ+a1)x+a0=((anxn-2+an-1xn-3+Λ+a2)x+a1)x+a0=ΛΛ=(Λ((anx+an-1)x+an-2)x+Λ+a1)+a0例1 已知一个5次多项式为f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8 用秦九韶算法求这个多项式当x=5时的值。

解:略思考:(1)例1计算时需要多少次乘法计算?多少次加法计算?(2)在利用秦九韶算法计算n次多项式当x=x0时需要多少次乘法计算和多少次加法计算?练习:利用秦九韶算法计算f(x)=0.83x5+0.41x4+0.16x3+0.33x2+0.5x+1 当x=5时的值,并统计需要多少次乘法计算和多少次加法计算?例2 设计利用秦九韶算法计算5次多项式f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0当x=x0时的值的程序框图。

算法案例(秦九韶算法)

算法案例(秦九韶算法)

算法的步骤和流程
01
02
03
04
2. 将 $a_{i+1}$ 加到 $v$ 中。 3. 将 $v$ 存储在变量 $P$ 中。
步骤3:返回 $P$ 作为多项 式的值。
通过以上步骤,秦九韶算法可以 在 $O(n)$ 的时间内计算出一元 多项式的值,其中 $n$ 是多项式 的次数。与直接使用常规的求值 方法相比,秦九韶算法可以显著 减少乘法的次数,从而提高计算
缺点
对大系数多项式不适用
秦九韶算法适用于系数和次数都很大的多项式,但如果多项式的 系数非常大,可能会导致数值溢出或下溢,影响计算精度。
需要额外的存储空间
秦九韶算法需要存储中间结果,如果多项式的次数很大,需要额外 的存储空间。
对某些特殊多项式不适用
秦九韶算法不适用于某些特殊的多项式,如常数、一次多项式等。
秦九韶算法的应用场景
数值分析
秦九韶算法在数值分析中广泛应用于求解多项式方程的根,以及进行 数值积分和微分等计算。
科学计算
在科学计算领域,秦九韶算法被用于计算物理、化学、工程等领域中 的多项式函数值,以及进行数据拟合和插值等操作。
计算机图形学
在计算机图形学中,秦九韶算法被用于计算光线追踪和纹理映射等算 法中的多项式函数值,以提高渲染效率和精度。
05
秦九韶算法的优缺点
优点
高效性
秦九韶算法是一种快速算法,可以在多项式 时间内完成计算,比直接计算更高效。
易于编程实现
秦九韶算法的步骤明确,易于编程实现,可 以方便地应用于计算机程序中。
数值稳定性
秦九韶算法在计算过程中可以减少舍入误差, 提高数值稳定性。
适用范围广
秦九韶算法适用于多项式的系数和次数都很 大的情况,具有较广的适用范围。

第一章 1.3 算法案例:辗转相除法、秦九韶算法

第一章  1.3  算法案例:辗转相除法、秦九韶算法

3,答案:C
返回
• 4.用秦九韶算法求f(x)=3x?+4x?+5x? +6x?+7x?+8x+1,当x=0.4时的值, 需进行乘法运算和加法运算的次数分别为 ( ) • A. 6 6 B. 5 6 • C.6 5 D.6 12 • 解析:改写多项多f(x)=(((((3x+4)x+5)x+ 6)x+7)x+8)x+1,则需要6次乘法和6次加 法. • 答案:A
返回
课堂练习
2.用辗转相除法求294和84的最大公约数时,需要 做除法的次数是( ) A.1 B. 2 C.3 D. 4 3.用秦九韶算法求多项式的值,可用哪种结构的算 法实现( ) A.顺序结构 B.条件结构 C.循环结构 D.A、B两种 • 2,解析:由294=84×3+42,84=42×2知,共需 做2次除法. • 答案:B
返回
法二:更相减损术:
因为378与90都是偶数. 所以用2约简得189和45. 189-45=144,144-45=99, 99-45=54,54-45=9, 45-9=36,36-9=27, 27-9=18,18-9=9.
所以378与90的最大公约数为2×9=18.
返回
[例2]
用秦九韶算法求多项式
1.3 算法案例 辗转相除法、秦九韶算法
返回
预习思考
• 1,用辗转相除法求80和36的最大公约数, 并用更相减损术检验所得结果.
• 2,用秦九韶算法求多项式f(x)=2x4-6x3 -5x2+4x-6在x=5时的值.
返回
[例1]
用辗转相除法求80和36的最大公约数,并
用更相减损术检验所得结果. [自主解答] 用辗转相除法:
返回
1.秦九韶算法的步骤
返回
2.应用秦九韶算法计算多项式的值应注意的问题 (1)要正确将多项式的形式进行改写. (2)计算应由内向外依次计算. (3)当多项式函数中间出现空项式,要以系数为零的

1.3算法案例(辗转相除法、更相减损术与秦九韶算法)课件(人教A版必修3)

1.3算法案例(辗转相除法、更相减损术与秦九韶算法)课件(人教A版必修3)

• 解析: f(x)=(((((x-5)x+6)x-3)x+1.8)x+ 0.35)x + 2 , v0 = 1 , v1 = v0x - 5 =- 6 , v2 = v1x+6=-6×(-1)+6=12,v3=v2x-3= -15. • 答案:-15
• 类型三 算法思想的应用 • [ 例 4] 运用秦九韶算法求 7 次多项式 f(x) = a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + a0 当 x = x0 时 的 值 , x0 , a1 ~ a7 都由键盘输入,画出算法的程 序框图. • [解] 程序框图如图1所示: • [点评] 用秦九韶算法对一个n次多项 式变形,可以得到下面的表达式:
计算 方法
v3=v2x+an-3,
… vn=
vn-1x+a0 ,
这样,求n次多项式f(x)的值就转化为求
n个一次多项式 的值
自我检测
• 1 .用辗转相除法求 294 和 84 的最大公 约数时,需要做除法的次数是( ) • A .1 B.2 • C.3 D.4
• 解析:294=84×3+42,84=42×2+0. • 答案:B
更相减损术
①都是求最大公约数的方法. 联 ②二者的实质都是递归的过程 系 . ③二者都要用循环结构来实现.
• 注意:应用更相减损术时,相减之前 先判断两个数是否为偶数,若都是偶 数则要反复除 2 ,直至至少出现一个 奇数为止.最后的公约数也是相减之 后的数乘以约简数. • 2.秦九韶算法的特点 • 秦九韶算法的特点在于把求一个 n 次 多项式的值转化为求 n 个一次多项式 的 值 , 即 把 求 f(x) = anxn + an - 1xn - 1 +…+a1x+a0的值转化为求递推公式:

案例2秦九韶算法

案例2秦九韶算法

并行化优化效果
通过实验验证,并行化实现的秦 九韶算法在处理大规模数值计算 问题时,能够显著提高计算速度, 减少计算时间。
算法的误差分析
误差来源
秦九韶算法中的误差主要来源于舍入误差和截断误差。舍 入误差是由于计算机浮点数的表示精度限制而引起的,截 断误差是由于近似计算而引起的。
误差传播
误差在秦九韶算法的计算过程中会累积和传播,对计算结 果的精度产生影响。误差传播的分析有助于了解算法的精 度损失情况。
扩展应用前景
随着科学计算和工程领域中大规模数值计算问题的不断涌现,秦九韶 算法的扩展应用前景广阔,具有重要的实际意义和价值。
05 秦九韶算法的未来发展与 展望
算法的进一步研究与完善
深入研究秦九韶算法 的数学原理,探索其 更广泛的应用场景。
结合现代计算机技术, 开发更高效的秦九韶 算法实现方式。
针对算法的缺陷和不 足,进行改进和优化, 提高算法的效率和准 确性。
算法在其他领域的应用探索
01
在数值分析、计算物理、工程优化等领域探索秦九 韶算法的应用可能性。
02
结合人工智能、机器学习等技术,将秦九韶算法应 用于数据分析和模式识别等领域。
03
探索秦九韶算法在金融、经济、社会科学等领域的 应用,为决策提供支持。
秦九韶算法对数学发展的影响
1
秦九韶算法的提出和发展,丰富了数学理论体系, 为后续数学研究提供了新的思路和方法。
秦九韶算法案例分析
contents
目录
• 秦九韶算法简介 • 秦九韶算法的原理 • 秦九韶算法案例展示 • 秦九韶算法的改进与优化 • 秦九韶算法的未来发展与展望
01 秦九韶算法简介
秦九韶算法的定义
秦九韶算法是一种用于计算多项式的 算法,它将多项式计算转化为一系列 的乘法和加法操作,从而提高了计算 的效率。

秦九韶公式

秦九韶公式
n n 1
这是怎样 的一种改 写方式? 最后的结 果是什么?
(( an x n2 an1 x n3 a2 ) x a1 ) x a0

((an x an1 ) x an2 ) x a1 ) x a0
f ( x) ((an x an1 ) x an2 ) x a1 ) x a0
要求多项式的值,应该先算最内层的一次多项式的值,即 然后,由内到外逐层计算一次多项式的值,即
v1 an x an1
v v xa
n n 1
v2 v1 x an2 v3 v2 x an3
0
最后的一 项是什么?
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法。
5 4 3 2
思考:从内到外,如果把每一个括号都看成一个常数,那么变形 后的式子中有哪些“一次式”?x的系数依次是什么?
(3)若将x的值代入变形后的式子中,那么求值的计算过程是怎样 的? 将变形前x的系数乘以x的值,加上变形前的第2个系数,得到一个新 的系数;将此系数继续乘以x的值,再加上变形前的第3个系数,又得到一 个新的系数;继续对新系数做上面的变换,直到与变形前的最后一个系数 相加,得到一个新的系数为止。这个系数即为所求多项式的值。这种算法 即是“秦九韶算法” (4)用秦九韶算法求多项式的值,与多项式组成有直接关 系吗?用秦九韶算法计算上述多项式的值,需要多少次乘 法运算和多少次加法运算?
算法案例(二)
(秦九韶算法求多项式的值)
三、秦九 4x 3x 6x 7
5 4 3 2
当x=5时的值的算法,并写出程序。 (2)有没有更高效的算法?能否探求更好的算法,来解决任意多项式的 求解问题? 引导学生把多项式变形为:

人教A版数学必修三教案:§1.3算法案例(秦九韶算法)

人教A版数学必修三教案:§1.3算法案例(秦九韶算法)

1.3 案例2 秦九韶算法(一)导入新课思路1(情境导入)大家都喜欢吃苹果吧,我们吃苹果都是从外到里一口一口的吃,而虫子却是先钻到苹果里面从里到外一口一口的吃,由此看来处理同一个问题的方法多种多样.怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?方法也是多种多样的,今天我们开始学习秦九韶算法.思路2(直接导入)前面我们学习了辗转相除法与更相减损术,今天我们开始学习秦九韶算法.(二)推进新课、新知探究、提出问题(1)求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值有哪些方法?比较它们的特点.(2)什么是秦九韶算法?(3)怎样评价一个算法的好坏?讨论结果:(1)怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?一个自然的做法就是把5代入多项式f(x),计算各项的值,然后把它们加起来,这时,我们一共做了1+2+3+4=10次乘法运算,5次加法运算.另一种做法是先计算x2的值,然后依次计算x2·x,(x2·x)·x,((x2·x)·x)·x的值,这样每次都可以利用上一次计算的结果,这时,我们一共做了4次乘法运算,5次加法运算.第二种做法与第一种做法相比,乘法的运算次数减少了,因而能够提高运算效率,对于计算机来说,做一次乘法运算所用的时间比做一次加法运算要长得多,所以采用第二种做法,计算机能更快地得到结果.(2)上面问题有没有更有效的算法呢?我国南宋时期的数学家秦九韶(约1202~1261)在他的著作《数书九章》中提出了下面的算法:把一个n次多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0改写成如下形式:f(x)=a n x n+a n-1x n-1+…+a1x+a0=(a n x n-1+a n-1x n-2+…+a1)x+ a0=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0=…=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0.求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=a n x+a n-1,然后由内向外逐层计算一次多项式的值,即v2=v1x+a n-2,v3=v2x+a n-3,…v n=v n-1x+a0,这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.上述方法称为秦九韶算法.直到今天,这种算法仍是多项式求值比较先进的算法.(3)计算机的一个很重要的特点就是运算速度快,但即便如此,算法好坏的一个重要标志仍然是运算的次数.如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论的算法.(三)应用示例例1 已知一个5次多项式为f (x )=5x 5+2x 4+3.5x 3-2.6x 2+1.7x-0.8,用秦九韶算法求这个多项式当x=5时的值.解:根据秦九韶算法,把多项式改写成如下形式:f(x)=((((5x+2)x+3.5)x-2.6)x+1.7) x-0.8,按照从内到外的顺序,依次计算一次多项式当x=5时的值:v 0=5;v 1=5×5+2=27;v 2=27×5+3.5=138.5;v 3=138.5×5-2.6=689.9;v 4=689.9×5+1.7=3 451.2;v 5=3 415.2×5-0.8=17 255.2;所以,当x=5时,多项式的值等于17 255.2.算法分析:观察上述秦九韶算法中的n 个一次式,可见v k 的计算要用到v k-1的值,若令v 0=a n ,我们可以得到下面的公式:⎩⎨⎧=+==--).,,2,1(,10n k a x v v a v k n k kn 这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现.算法步骤如下:第一步,输入多项式次数n 、最高次的系数a n 和x 的值.第二步,将v 的值初始化为a n ,将i 的值初始化为n-1.第三步,输入i 次项的系数a i .第四步,v=vx+a i ,i=i-1.第五步,判断i 是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v. 程序框图如下图:程序:INPUT “n=”;nINPUT “an=”;aINPUT “x=”;xv=ai=n-1WHILE i>=0PRINT “i=”;iINPUT “ai=”;av=v*x+ai=i-1WENDPRINT vEND点评:本题是古老算法与现代计算机语言的完美结合,详尽介绍了思想方法、算法步骤、程序框图和算法语句,是一个典型的算法案例.变式训练请以5次多项式函数为例说明秦九韶算法,并画出程序框图.解:设f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0首先,让我们以5次多项式一步步地进行改写:f(x)=(a5x4+a4x3+a3x2+a2x+a1)x+a0=((a5x3+a4x2+ a3x+a2)x+a1)x+a0=(((a5x2+a4x+ a3)x+a2)x+a1)x+a0=((((a5x+a4)x+ a3)x+a2)x+a1)x+a0.上面的分层计算,只用了小括号,计算时,首先计算最内层的括号,然后由里向外逐层计算,直到最外层的括号,然后加上常数项即可.程序框图如下图:例2 已知n次多项式P n(x)=a0x n+a1x n-1+…+a n-1x+a n,如果在一种算法中,计算k x0(k=2,3,4,…,n)的值需要k-1次乘法,计算P3(x0)的值共需要9次运算(6次乘法,3次加法),那么计算P10(x0)的值共需要__________次运算.下面给出一种减少运算次数的算法:P0(x)=a0,P k+1(x)=xP k(x)+a k+1(k=0,1,2,…,n-1).利用该算法,计算P3(x0)的值共需要6次运算,计算P10(x0)的值共需要___________次运算.答案:65 20点评:秦九韶算法适用一般的多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0的求值问题.直接法乘法运算的次数最多可到达2)1(nn,加法最多n次.秦九韶算法通过转化把乘法运算的次数减少到最多n次,加法最多n次.例3 已知多项式函数f(x)=2x5-5x4-4x3+3x2-6x+7,求当x=5时的函数的值.解析:把多项式变形为:f(x)=2x5-5x4-4x3+3x2-6x+7=((((2x-5)x-4)x+3)x-6)x+7.计算的过程可以列表表示为:最后的系数2 677即为所求的值.算法过程:v0=2;v1=2×5-5=5;v2=5×5-4=21;v3=21×5+3=108;v4=108×5-6=534;v5=534×5+7=2 677.点评:如果多项式函数中有缺项的话,要以系数为0的项补齐后再计算.(四)知能训练当x=2时,用秦九韶算法求多项式f(x)=3x5+8x4-3x3+5x2+12x-6的值.解法一:根据秦九韶算法,把多项式改写成如下形式:f(x)=((((3x+8)x-3)x+5)x+12)x-6.按照从内到外的顺序,依次计算一次多项式当x=2时的值.v0=3;v1=v0×2+8=3×2+8=14;v2=v1×2-3=14×2-3=25;v3=v2×2+5=25×2+5=55;v4=v3×2+12=55×2+12=122;v5=v4×2-6=122×2-6=238.∴当x=2时,多项式的值为238.解法二:f(x)=((((3x+8)x-3)x+5)x+12)x-6,则f(2)=((((3×2+8)×2-3)×2+5)×2+12)×2-6=238.(五)拓展提升用秦九韶算法求多项式f (x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.解:f(x)=((((((7x+6)+5)x+4)x+3)x+2)x+1)xv0=7;v1=7×3+6=27;v2=27×3+5=86;v3=86×3+4=262;v4=262×3+3=789;v5=789×3+2=2 369;v6=2 369×3+1=7 108;v7=7 108×3+0=21 324.∴f(3)=21 324.(六)课堂小结1.秦九韶算法的方法和步骤.2.秦九韶算法的计算机程序框图.(七)作业已知函数f(x)=x3-2x2-5x+8,求f(9)的值.解:f(x)=x3-2x2-5x+8=(x2-2x-5)x+8=((x-2)x-5)x+8 ∴f(9)=((9-2)×9-5)×9+8=530.。

高中数学 1.3算法案例---秦九韶算法课件 新人教A版必修3

高中数学 1.3算法案例---秦九韶算法课件 新人教A版必修3
算法案例
第二课时
复习引入:
1、求两个数的最大公约数的两种方法分别是 ( )和( )。
2、两个数21672,8127的最大公约数是 ( ) A、2709 B、2606 C、2703 D、2706
新课讲解:
怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?
计算多项式f(x) =x5+x4+x3+x2+x+1
=5×(54+53+52+5+1 ) +1 =5×(5×(53+52+5 +1 )+1 ) +1 =5×(5×(5×(52+5 +1) +1 ) +1 ) +1 =5×(5×(5×(5 ×(5 +1) +1 )+1)+1) +1
共做了4次乘法运算,5次加法运算。
《数书九章》——秦九韶算法
设f (x) 是一个n 次的多项式
用秦九韶算法求这个多项式当x = 5的值。 解:将多项式变形:
f (x) ((((5x 2)x 3.5)x 2.6)x 1.7)x 0.8
按由里到外的顺序,依此计算一次多项式当x = 5时的值:
v0 5 v1 55 2 27 v2 275 3.5 138.5 v3 138.55 2.6 689.9 v4 689.95 1.7 3451.2 v5 3451.25 0.8 17255.2
最后的一 项是什么?
vn vn1x a0
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法。
秦九韶算法的特点:
通过一次式的反复计算,逐步得出高次多 项式的值,对于一个n次多项式,只需做n次乘 法和n次加法即可。
程序框图:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• C.-2 D.2
4、利用辗转相除法求两数4081与20723 的最大公约数. (53) 20723=4081×5+318;
4081=318×12+265;
318=265×1+53; 265=53×5+0.
5、把89化为五进制的数. 解:以5作为除数,相应的除法算式为: 余数 5 89 5 17 4 5 3 2 0 3 ∴ 89=324(5).
例1:用秦九韶算法计算多项式 f ( x) 0.83x 0.41x 0.16 x +0.33x 0.5x +1
5 4 3 2
当x=5时的值
练习:用秦九韶算法计算多项式 f ( x) 4 x 2 x 3.5x -2.6 x 1.7 x 0.8
5 4 3 2
当x=5时的值
用秦九韶算法计算多项式 f ( x) 5 x 4 x 3 x 2 x x 1
5 4 3 2
当x =5的值时,乘法运算的次数为 加法运算的次数为
作业:
课本P19页练习2;
P38页A组T2.
[问题2]有没有更高效的算法? 分析:计算x的幂时,可以利用前面的计算结果,以 减少计算量, 即先计算x2,然后依次计算
x x,( x x) x,(( x x) x) x
2 2 2
的值. 这析计算上述多项式的值,一共需要4次乘 法运算,5次加法运算.
第二种做法与第一种做法相比,乘法的运 算次数减少了,因而能提高运算效率.而且对于 计算机来说,做一次乘法所需的运算时间比做一 次加法要长得多,因此第二种做法能更快地得到 结果.
环节一:旧知复习 1.程序框图中,有两个出口的程序框是( A.起止框 B.处理框 )
C.判断框
D.输入、输出框
根据框图的功能,可知有两个出口 的程序框是判断框,选C.
• 2.如果执行下面的程序框图,那 么输出的S=( C ) • A.7 B.9 • C.11 D.13
3.下面的程序框图, 若输出y的值是9, 则输入的实数x的 值为( B ) • A.3 B.-3
新知探究
[问题1]设计求多项式f(x)=x5+x4+x3+x2+x+1
当x=5时的值的算法,并写出程序.
程序
x=5
f=x^5
PRINT f
END
点评:上述算法一共做了10次乘法运算,5次加法 运算.优点是简单,易懂;缺点是不通用,不能解决 任意多项多求值问题,而且计算效率不高.
相关文档
最新文档