1.3.2算法案例(秦九韶算法)
秦九韶算法介绍和实例分析
秦九韶算法介绍和实例分析具体而言,秦九韶算法通过构建一个累加器,用来存储每一次迭代计算的结果。
首先,将多项式的最高次项系数存入累加器中。
然后,通过迭代计算,将每一个次高次项的系数与上一次迭代的结果相乘,并加上该项的常数部分。
依次迭代计算,直到将所有的项都计算完毕。
最终,累加器中的值即为多项式的求值结果。
下面以一个实例来说明秦九韶算法的应用。
假设我们要求解如下多项式的值: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 秦九韶算法是我国南宋数学家秦九韶在他的代表作《数书九章》中提出的一种用于计算一元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.2算法案例2
要求多项式的值,应该先算最内层的一次多项式 的值,即 v 1 a n x an 1 然后,由内到外逐层计算一次多项式的值,即
v 2 v1 x an 2 v 3 v 2 x an 3
最后的一 项是什么?
vn vn1 x a0
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法.
所以,当x = 5时,0、a1、a2、a3、a4、a5 输入x0 n=0 v=a5 v= v· 0+a5-n x
n=n+1
n < 5? 否 输出v 结束
秦九韶算法检验
是
练习、已知多项式f(x)=x5+5x4+10x3+10x2+5x+1
f ( x) an x n an1 x n1 a1 x a0
对该多项式按下面的方式进行改写:
f ( x) an x n an1 x n1 a1 x a0
(an x n1 an1 x n2 a1 ) x a0
这是怎样的 一种改写方 式?最后的 结果是什么?
算法步骤:
第一步:输入多项式次数n、最高次项的系数an和x 的值. 第二步:将v的值初始化为an,将i的值初始化为n-1. 第三步:判断i是否大于或等于0,若是,则返回第
四步;否则,转第六步
第四步:输入i次项的系数ai 第五步:v=vx+ai, i=i-1 第六步:输出多项式的值v。
程序框图:
开始
v1 5 5 2 27 v2 27 5 3.5 138.5 v 3 138.5 5 2.6 689.9 v4 689.9 5 1.7 3451.2 v5 3451.2 5 0.8 17255.2
1.3 案例2 秦九韶算法
((an x an1 ) x an 2 ) x a1 ) x a0
当知道了x的值后该如何求多项式的值?
f ( x ) ((an x an1 ) x an 2 ) x a1 ) x a0
要求多项式的值,应该先算最内层的一次多 项式的值,即
所以,当x = 2时,多项式的值等于-41.
高中数学备课组
练习: 已知多项式f(x)=x5+5x4+10x3+10x2+5x+1 用秦九韶算法求这个多项式当 x= -2 时的值.
f(-2)= -1.
高中数学备课组
秦九韶算法的程序框图:
开始 输入n, an, x的值 v=an
v 0 a n v k v k 1 x an k ( k 1,2, , n)
f (5)=55+54+53+52+5+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
两种算法中各用了几次乘法运算? 几次加法运算?
f ( x ) an x n an1 x n1 a1 x a0 (an x n1 an1 x n 2 a1 ) x a0
(( an x n 2 an1 x n 3 a2 ) x a1 ) x a0
高中数学备课组
v1 an x an1
然后,由内到外逐层计算一次多项式的值,即
高中数学备课组
v 3 v 2 x an 3
v n v n 1 x a 0
秦九韶算法高中数学
秦九韶算法高中数学
秦九韶算法是一种快速求解多项式值的算法,常用于计算机科学和工程学。
该算法可以将一个n次多项式表示为n-1次多项式的递归形式,从而快速计算多项式的值。
具体来说,假设要求P(x)=a0+a1*x+a2*x^2+⋯+an*x^n,秦九韶算法的递推公式为:
P(x) = a0 + x * (a1 + x * (a2 + x * (a3 + ⋯ + x * (an-1 + x * an))))
也就是说,从最高次项开始逐次将x乘进去,直到乘到最低次项为止。
这样一来,算法的复杂度为O(n)(即线性),比暴力计算的O(n^2)(即平方)要快得多。
在高中数学中,秦九韶算法主要作为多项式函数的计算工具。
例如,假设给定多项式f(x)=2x^3+4x^2+3x+1和x=2,要求计算f(x),可以使用秦九韶算法:
f(2) = 2 * 2^3 + 4 * 2^2 + 3 * 2 + 1
= 16 + 16 + 6 + 1
= 39
因此,f(2)=39。
秦九韶算法的应用范围很广,可以用于求解各种多项式函数的值,包括指数函数、对数函数等。
1.3.2算法案例-秦九韶算法
计算多项式f(x) =x5+x4+x3+x2+x+1当x = 5 的值 算法1: 因为f(x) =x5+x4+x3+x2+x+1 所以f(5)=55+54+53+52+5+1 =3125+625+125+25+5+1 = 3906 算法2: f(5)=55+54+53+52+5+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
作业:
课本P45页练习T2; P48页A组T2.
《数书九章》——秦九韶算法 设 f (x) 是一个n次的多项式
f ( x) an x an 1 x
n n 1
a1 x a0
对该多项式按下面的方式进行改写:
f ( x) an x an 1 x
n n 1
a1 x a0 a1 ) x a0 a2 ) x a1 ) x a0
要求多项式的值,应该先算最内层的一次多项式的值,即
v1 an x an 1
然后,由内到外逐层计算一次多项式的值,即
v2 v1 x an 2 v3 v2 x an 3
最后的一项 是什么?
vn vn 1 x a0
这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的 方法,称为秦九韶算法。
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7的系数
x=5
2
-5 10 5
132秦九韶算法
132秦九韶算法秦九韶算法,又称陈子算经,是中国古代的一种快速计算多项式值的算法。
秦九韶是南宋时期的数学家,他发明此算法是为了计算高次多项式的值,提高了计算速度,对于古代数学的发展起到了重要的推动作用。
秦九韶算法的核心思想是利用代数恒等式的性质,将一个多项式表达式转化为多个相同形式的和式,从而减少重复计算的次数。
具体实现上,秦九韶算法采用了一种类似于“二分”的分治策略,将多项式按照相同的幂次进行组合,然后再进行逐步的计算。
对于一个次数为n的多项式:f(x) = a0 + a1 * x + a2 * x^2 + ... + an * x^n利用秦九韶算法,可以将其转化为如下形式:f(x) = (a0 + (a1 + (a2 + ... + (an * x) * x) * x) * x...)其中,an通过不断的迭代乘法与加法运算得到最终的结果。
秦九韶算法的优点在于大大减少了重复计算的次数,通过上述的递归过程,每一次迭代都将多项式的次数减小1,节省了大量的时间和计算资源。
这使得秦九韶算法在计算高次多项式值时具有很高的效率。
除了计算多项式的值,秦九韶算法还可以用于多项式的乘法和除法运算。
在乘法运算中,可以利用类似的思路,将多项式拆分为多个相同形式的和式,分别计算后再进行累加得到最终结果。
在除法运算中,可以通过逆向运算,从高次项逐渐减小到低次项。
在实际应用中,秦九韶算法被广泛应用于科学计算、数据处理和图像处理等领域。
由于其高效的计算速度,能够大大提高计算的效率,尤其对于大规模数据的处理非常有效。
此外,秦九韶算法也被一些编程语言内置为库函数,方便开发者直接调用。
虽然秦九韶算法在计算多项式值时十分高效,但是需要注意的是,该算法对于多个不同的多项式,每次计算的系数都需要重新初始化。
此外,秦九韶算法对于一些特殊情况的处理可能会出现误差,例如除法运算中的除零错误,开发者需要在实际应用中进行适当的处理。
总之,秦九韶算法是中国古代的一种重要数学算法,通过利用代数恒等式的性质,将多项式转化为和式进行计算,大大减少了重复计算的次数,提高了计算效率。
福建省永安第十二中学高中数学人教B版必修三:1.3.2秦九韶算法 (教案)
《秦九韶算法》教案永安十二中 罗上尧 .11.25(星期五)课题秦九韶算法 课型新授课授课班级 高二( )班教学目标知识与技能目标:1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质.2.能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序.过程与方法目标:模仿秦九韶计算方法,体会古人计算构思的巧妙.情感、态度、价值观目标:通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久.重点:秦九韶算法的特点,对秦九韶算法的先进性理解. 教学资源: PPT难点:秦九韶算法思想的理解及用循环结构表示算法步骤.教学互动内容设计意图 一、创设情景,揭示课题 1.秦九韶人物简介2.问题是数学的心脏,带着问题思考数学的智慧 二、新课探究知识探究(一):秦九韶算法的基本思想思考1:怎样求多项式1)(2345+++++=x x x x x x f 当5=x 时的值呢? 算法1:将5=x 代入1)(2345+++++=x x x x x x f计算得(5)3906f =,并统计所做的计算的种类及计算次数。
(共需要10次乘法运算,5次加法运算)算法2:在计算x 的幂值时,可以利用前面的计算结果,以减少计算量,即先计算2x ,然后依次计算2x x ⋅,2()x x x ⋅⋅,2(())x x x x ⋅⋅⋅的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?(上述算法一共做了4次乘法运算,5次加法运算)结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长了解数学史及中国古代数学对世界数学的贡献,激发学生的爱国主义情怀.通过学生的操作认识算法1的算法种类和计算次数.帮助学生建立改进算法,提高计算效率的意识.得多,因此第二种做法能更快地得到结果.算法3:我们把多项式变形为:()((((1)1)1)1)1f x x x x x x =+++++再统计一下计算当5=x 时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。
算法案例(秦九韶算法)
算法的步骤和流程
01
02
03
04
2. 将 $a_{i+1}$ 加到 $v$ 中。 3. 将 $v$ 存储在变量 $P$ 中。
步骤3:返回 $P$ 作为多项 式的值。
通过以上步骤,秦九韶算法可以 在 $O(n)$ 的时间内计算出一元 多项式的值,其中 $n$ 是多项式 的次数。与直接使用常规的求值 方法相比,秦九韶算法可以显著 减少乘法的次数,从而提高计算
缺点
对大系数多项式不适用
秦九韶算法适用于系数和次数都很大的多项式,但如果多项式的 系数非常大,可能会导致数值溢出或下溢,影响计算精度。
需要额外的存储空间
秦九韶算法需要存储中间结果,如果多项式的次数很大,需要额外 的存储空间。
对某些特殊多项式不适用
秦九韶算法不适用于某些特殊的多项式,如常数、一次多项式等。
秦九韶算法的应用场景
数值分析
秦九韶算法在数值分析中广泛应用于求解多项式方程的根,以及进行 数值积分和微分等计算。
科学计算
在科学计算领域,秦九韶算法被用于计算物理、化学、工程等领域中 的多项式函数值,以及进行数据拟合和插值等操作。
计算机图形学
在计算机图形学中,秦九韶算法被用于计算光线追踪和纹理映射等算 法中的多项式函数值,以提高渲染效率和精度。
05
秦九韶算法的优缺点
优点
高效性
秦九韶算法是一种快速算法,可以在多项式 时间内完成计算,比直接计算更高效。
易于编程实现
秦九韶算法的步骤明确,易于编程实现,可 以方便地应用于计算机程序中。
数值稳定性
秦九韶算法在计算过程中可以减少舍入误差, 提高数值稳定性。
适用范围广
秦九韶算法适用于多项式的系数和次数都很 大的情况,具有较广的适用范围。
秦九韶算法
i ≥0 否 输出v
结束
是
输入ai
练习
练习3、下图的框图是一古代数学家的一个算法的 程序框图,它输出的结果s表示( C )
开始
A.a0+a1+a2+a3
B.a3+a2x0+a1x02+a0x03的值 C.a0+a1x0+a2x02+a3x03的值 D.以上答案都不是
输入a0a1a2a3x0 k=3 s=a3 k>0 k=k-1
S1 输入多项式的最高次数n, 最高次数项an和x的值; S2 令v=an,i=n-1; S3 输入i次项的系数ai; S4 v =vx+ai,i=i-1; S5 判断i≥0是否成立. 若是,则返回第三步, 不是,输出多项式的值.
算法演示 开始 输入n,x,an v=an i=n-1 i=i-1 v=vx+ai
f(x)=1+2· x· +5· x2+3· x3+2· x4 x+6· x x· x· x· 逐项求和法
1+2+2+2=9次乘法运算,5次加法运算。
1+2+3+4+5=15次乘法运算,5次加法运算。
思考
计算多项式f(x)=2x5+3x4+5x3+6x2+2x+1 当x = 2的值。
是否有更简单的算法,来解决此多项式的求值问题
由内向外逐层计算多项式的值:
v0=an v1=v0x+an-1; v2=v1x+an-2; v3=v2x+an-3;
……..
则递推公式为:
v0 an vk vk 1x ank k=1,2,…,n
1.3.2算法案例(2)秦九韶算法
思考5:上述求多项式 思考5:上述求多项式 5: f(x)=anxn+an-1xn-1+…+a1x+a0的值的方法 称为秦九韶算法 利用该算法求f(x 秦九韶算法, 称为秦九韶算法,利用该算法求f(x0)的 一共需要多少次乘法运算, 值,一共需要多少次乘法运算,多少次 加法运算? 加法运算? n次乘法运算, n次加法运算 次乘法运算, 次加法运算 次乘法运算 思考6:在秦九韶算法中, 6:在秦九韶算法中 思考6:在秦九韶算法中,记v0=an,那么 步的算式是什么? 第k步的算式是什么? (k=1, vk=vk-1x+an-k (k=1,2,…,n)
思考4:对于f(x)=(…((a 思考4:对于f(x)=(…((anx+an-1)x+ 4:对于 an-2)x+…+a1)x+a0,由内向外逐层计算 一次多项式的值,其算法步骤如何? 一次多项式的值,其算法步骤如何? 第一步,计算v 第一步,计算v1=anx+an-1. 第二步,计算v 第二步,计算v2=v1x+an-2. 第三步,计算v 第三步,计算v3=v2x+an-3. … 第n步,计算vn=vn-1x+a0. 计算v
第二种做法与第一种做法相比,乘法的运算次数 第二种做法与第一种做法相比 乘法的运算次数 减少了,因而能提高运算效率 而且对于计算机来说,做 因而能提高运算效率.而且对于计算机来说 减少了 因而能提高运算效率 而且对于计算机来说 做 一次乘法所需的运算时间比做一次加法要长得多,因此 一次乘法所需的运算时间比做一次加法要长得多 因此 第二种做法能更快地得到结果. 第二种做法能更快地得到结果
知识探究( 知识探究(一):秦九韶算法的基本思想
案例2秦九韶算法
并行化优化效果
通过实验验证,并行化实现的秦 九韶算法在处理大规模数值计算 问题时,能够显著提高计算速度, 减少计算时间。
算法的误差分析
误差来源
秦九韶算法中的误差主要来源于舍入误差和截断误差。舍 入误差是由于计算机浮点数的表示精度限制而引起的,截 断误差是由于近似计算而引起的。
误差传播
误差在秦九韶算法的计算过程中会累积和传播,对计算结 果的精度产生影响。误差传播的分析有助于了解算法的精 度损失情况。
扩展应用前景
随着科学计算和工程领域中大规模数值计算问题的不断涌现,秦九韶 算法的扩展应用前景广阔,具有重要的实际意义和价值。
05 秦九韶算法的未来发展与 展望
算法的进一步研究与完善
深入研究秦九韶算法 的数学原理,探索其 更广泛的应用场景。
结合现代计算机技术, 开发更高效的秦九韶 算法实现方式。
针对算法的缺陷和不 足,进行改进和优化, 提高算法的效率和准 确性。
算法在其他领域的应用探索
01
在数值分析、计算物理、工程优化等领域探索秦九 韶算法的应用可能性。
02
结合人工智能、机器学习等技术,将秦九韶算法应 用于数据分析和模式识别等领域。
03
探索秦九韶算法在金融、经济、社会科学等领域的 应用,为决策提供支持。
秦九韶算法对数学发展的影响
1
秦九韶算法的提出和发展,丰富了数学理论体系, 为后续数学研究提供了新的思路和方法。
秦九韶算法案例分析
contents
目录
• 秦九韶算法简介 • 秦九韶算法的原理 • 秦九韶算法案例展示 • 秦九韶算法的改进与优化 • 秦九韶算法的未来发展与展望
01 秦九韶算法简介
秦九韶算法的定义
秦九韶算法是一种用于计算多项式的 算法,它将多项式计算转化为一系列 的乘法和加法操作,从而提高了计算 的效率。
编程用秦九韶算法计算多项式的值
编程用秦九韶算法计算多项式的值秦九韶算法是一种用于快速计算多项式的值的算法。
它可以有效地减少乘法运算的次数,从而提高计算速度。
算法的基本思想是利用数学上的展开式将多项式的计算过程简化为一系列乘法和加法操作。
具体步骤如下:1. 给定一个多项式P(x) = a0 + a1 * x + a2 * x^2 + ... + an * x^n,其中x是输入的值。
以及给出了系数a0, a1, a2, ..., an。
2.从右至左,依次处理每一项,利用迭代的方式计算多项式的值。
3. 初始化一个变量result为0,用于存储最后计算出的多项式值。
4.从最高次项开始,依次计算每一项的乘法和加法。
a. 首先,将result乘以x的次数n。
b. 然后,将得到的结果与an相乘。
c. 将结果累加到result中。
d.依次重复以上步骤,直到处理完所有的项。
5. 最后,返回result作为多项式P(x)的值。
下面是一个用Python实现秦九韶算法的示例代码:```pythondef evaluate_polynomial(coefficients, x):n = len(coefficients) - 1result = coefficients[n]for i in range(n-1, -1, -1):result = result * x + coefficients[i]return result```上述代码中,`coefficients`是多项式的系数列表,`x`是给定的值。
函数`evaluate_polynomial`将返回多项式P(x)的值。
接下来,我们用一个例子来说明如何使用该函数进行多项式的计算:```pythoncoefficients = [3, 2, -1] # 多项式P(x) = 3 + 2x - x^2x=2result = evaluate_polynomial(coefficients, x)print("P({}) = {}".format(x, result))```运行上述代码,将输出多项式P(x)在x=2处的值,结果为5通过使用秦九韶算法,我们可以以较低的时间复杂度计算多项式的值。
1.3.2 秦九韶算法
用秦九韶算法求这个多项式当x=5时的值。
秦九韶算法是求一元多项式的值的一种方法. 它的特点是:
这是一个在秦九韶算法中反复执行的步骤, 因此可用循环结构来实现.
程序
INPUT "n=";n input "an=";a input "x=";x v=a i =n–1 while i >= 0 print "i = ";i input "ai = ";a v = v*x + a i=i–1 wend print v end
法1 : f(5)= 55+54+53+52+5+1 = 3125+625+125+25+5+1 = 3906
10次乘法运算,5次加法运算
对于计算机来说 法2 : f(5)=55+ 54+53+52+, 5做一次 +1 4+53+52+5+1)+1 乘法所需的运算时间比做 =5×(5 一次加法要长得多 =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
f(x)=anxn+an-1xn-1+an-2xn-2+……+a1x+a0.
v0=an,
v1=anx+an-1, v3=v2x+an-3, ……, v2=v1x+an-2, vn=vn-1x+a0.
1.3.2秦九韶算法教案
1、已知一个4次多项式为f(x)=3x4+5x3+x2-3x+1,
用秦九韶算法求这个多项式当x=2时的值。
2令v0=an,则可得到下面的公式:
v0=an
vk=(k=1,2,…,n)
这个步骤可用循环结构来实现。
3、在理解秦九韶算法的思想后,用程序框图、程序把算法表示出来。
2、对于计算机来说,做一次乘方运算所用的时间比做一次加法运算所用的时间要
得多,故减少乘法运算的次数,能使算法更优。
3、对于第一题中的问题,有没有更好的算法呢?
4、如果把第一题中的问题一般化:求多项式f(x)=anxn+an-1xn-1…+a1x+a0的值,能把我国南宋时期的数学家秦九韶在《数书九章》中提出的算法叙述出来吗?他解决这类问题需做次乘方运算,次加法运算。
课题
秦九韶算法
中心备课人
王大喜
三维目标
1、理解秦九韶算法的数学原理,并能根据原理进行算法分析;
2、体会中国古代数学对世界数学发展的贡献。
教学重点
理解秦九韶算法的思想
教学难点
用循环结构表示算法步骤
教
学
过
程
教
学
过
程
教学内容
教师批注
【自学提纲】
1、求多项式f(x)=x5+x4+x3+x2+1当x=5时的值时,如果把5代入多项式f(x),计算各项的值,然后相加,需做次乘方运算,次加法运算。
课堂总结
1、计算机的速度快,但算法好坏的一个重要标志仍然是运算的次数,如果一个算法从理论上需要超出计算机允许范围内的运算次数,这个算法就只能是一个理论上的算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生交流、补充回答自学指导中的问题,教师进行补充及纠正总结,引导学生加强对知识的理解深度。
1.强调利用常规自然的运算方法,运算量大,若用前面的计算结果,直接计算后面的式子,可以减少运算量,提高运算效率。
2.强调作为常识性的知识,让学生了解到计算机进行乘法运算比加法运算花的时间要长的多,故而在程序编写中,需要进行运算,尽量使用加法。
3.让学生明确秦九韶算法的作用和意义。
4.通过交流关于秦九韶的简介,突破本节课的情感态度与价值观目标,教师鼓励学生要增强学习数学的信心。附:
秦九韶(公元1202-1261),字道古,安岳人。秦九韶与李冶、杨辉、朱世杰并称宋元数学四大家。其父秦季栖,进士出身,官至上部郎中、秘书少监。秦九韶聪敏勤学。宋绍定四年(1231),秦九韶考中进士,先后担任县尉、通判、参议官、州守、同农、寺丞等职。先后在湖北、安徽、江苏、浙江等地做官,1261年左右被贬至梅州(今广东梅县),不久死于任所。他在政务之余,对数学进行虔心钻研,并广泛搜集历学、数学、星象、音律、营造等资料,进行分析、研究。宋淳祜四至七年(1244至1247),他在为母亲守孝时,把长期积累的数学知识和研究所得加以编辑,写成了闻名的巨著《数学九章》,并创造了“大衍求一术”。这不仅在当时处于世界领先地位,在近代数学和现代电子计算设计中,也起到了重要作用,被称为“中国剩余定理”。他所论的“正负开方术”,被称为“秦九韶程序”。现在,世界各国从小学、中学到大学的数学课程,几乎都接触到他的定理、定律和解题原则。秦九韶在数学方面的研究成果,比英国数学家取得的成果要早800多年。秦九韶字道古.普州安岳(今四川安岳)人.南宋嘉泰二年(1202年)生;约景定二年(1261年)卒于梅州(今广东梅县).
示标
1.学会用秦九韶算法求多项式的值。
2.理解秦九韶算法的流程图和程序。
示导
自学内容
教材P37页至P39页
自学时间
约10分钟
自学方法
个体研读教材与小组交流研讨相结合,在自学过程中,成员若遇到疑难点,提供给本组成员研讨,小组长负责主持互助搞懂疑难问题。
自学标准
通过自学完成下面自学指导中的问题。
检测要求
5.这是本节课的重点,学生在此处的自学效果不会理想,教学中精准的抓住学生思维的火花,引导学生归纳总结出秦九韶算法的步骤,同时教师补充讲解秦九韶算法的第二种解题方法,并要求熟练掌握。
解法二:列表
系数
4
2
3.5
-2.6
1.7
-0.8
x=5
20
110
567.5
2824.5
14131
V
4
22
113.5
564.9
2.秦九韶算法
例题2解法二板演
例题二的流程图
例题2的程序
教学反思
在师生互动交流检查自学效果时,小组成员多项式的值时,提到先计算 的值,在计算后面的 、 、 时采用了什么办法?那样做的有什么好处?
2.通过研读教材,你知道计算机做一次乘法运算和加法运算,进行那种运算花费的时间长?这对你往后编写程序有什么启示?
后教Ⅱ
1.应用秦九韶算法求多项式的值,笔算强调学生要用方法二,先有小组合作讨论解决,小组派代表在黑板上演示,其他同学可以讨论解决别的题目。
2.秦九韶算法程序框图设计的难度很大,学生可能设计不出完整的流程图,但教师要从学生的原始思维出发,教师可以参照学生的错误设计,进行辨析讲解,主要纠正学生思维不严谨的地方,师生共同设计流程图,并在电脑上编写程序,激发学生的求知兴趣。
2826.2
14130.2
所以,当x=5时,多项式的值是14130.2
检测
1.已知一个5次多项式为f(x)=2x5-5x4-4x3+3x2-6x+7,用秦九韶算法求这个多项式当x=5时的值。
2.你们能将检测题1中应用秦九韶算法求多项式值的过程,试着按照1.3-3程序框图画出相应的程序框图。
3.试着将检测题2的程序框图,编写成程序,看哪个小组最有成果。
3.编写程序的难度最大,教师将检测题3的学生答案输入电脑,提高学生的求知欲望,同时纠正学生在编写程序时常出现的错误,另外要鼓励学生不要害怕编写程序,教会学生如何判断程序有误的方法。
练习
用秦九韶算法求多项式f(x)=2x6-5x5-4x3+3x2-6x当x=5时的值.
板书设计
标题
1.n次多项式函数的一般式
3.直到今天,有一种算法仍是多项式求值比较先进的方法,它是我们中国人值得骄傲的一幅篇章,它就是?
4.你对秦九韶有多少了解?说一说,让大家共同感受他的伟大。
5.教材例2的讲解中,对多项式 进行了变形,实质对多项式中含有x的项进行那种变形?小组讨论研究,能归纳总结出秦九韶算法的具体步骤吗?
自学
自学方法及要求:本节课的自学过程中,同学们先认真自己研读教材,如有疑问提供给本组成员一起讨论,在教材中做好标记,合理使用圈、点、勾、划得要领。
通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
教学重点
秦九韶算法的特点。
教学难点
秦九韶算法的先进性理解。
课前准备
自学导学案,检测题,多媒体课件,vb程序
教学方法
先学后教法
教学课时
1课时
第(一)课时
教学过程
导入
怎样求函数 ,当 时的函数值?
设计意图:通过已学内容,激发学生兴趣,引出本节所学内容。
1.3.2算法案例—秦九韶算法
学科:高二数学授课时间:第周主备人:高敬伟、郑纯
课题
1.3.2算法案例—秦九韶算法
课型
新授课
学习目标
三维目标
知识与技能
了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
过程与方法
模仿秦九韶计算方法,体会古人计算构思的巧妙.
情感态度与价值观