第8讲循环结构经典算法二.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八讲 循环结构的经典算法二 程序设计举例 本节主要内容 0.迭代法的一般含义 0.迭代法的一般含义 1.用普通迭代法求方程的近似实根 1.用普通迭代法求方程的近似实根 例1:编写程序,用普通迭代法求方程f(x)=x+sin(1.2x)-2.15=0在区间[0,5]上的近似实根。迭代初值自选,精确到0.0001。 2.用二分法求方程的近似实根 先找到区间(a,b),使得f(a),f(b)异号, 说明在区间(a,b)内一定有实根: (1) 求f((a+b)/2)。如果f((a+b)/2)=0, 则(a+b)/2 就是方程的一个实根,任务完成。 (2) 如果f((a+b)/2)与f(b)异号, 则说明方程在区间((a+b)/2,b)内有零点,令a=(a+b)/2,转步骤(1)继续计算。 (3) 如果f((a+b)/2)与f(a)异号,则说明方程在区间(a,(a+b)/2)内有零点,令b=(a+b)/2,转步骤(1)继续计算。 2.用二分法求方程的近似实根 例2:编写程序,用二分法求一元非线性方程f(x)=2x+sinx-2.15=0 在区间 (0,5)上的近似实根r,精确到0.0001。 3. 用牛顿切线法求方程的近似实根 设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f‘(x0)(x-x0),求出L与x轴交点的横坐标 x1 = x0-f(x0)/f’(x0),称x1为r的一次近似值。 过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的横坐标 x2 = x1-f(x1)/f‘(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列。 3. 用牛顿切线法求方程的近似实根 例3:编写程序,用Newton迭代法求方程f(x)=2x+cosx-2.6=0在区间[0,4]上的近似实根r,迭代初值自选,精确到0.0001。 定积分概念回顾 4.用矩形法求定积分近似值 矩形法的基本思想: 求定积分 把区间[a,b]平均分成n个小区间,以每个小区间左端点的函数值为宽、小区间长度为高作矩形,然后把这n个小矩形的面积相加,即为所求的定积分的近似值。 显然,小区间数n越大,求得的定积分的近似求值的精度也越高。 4.用矩形法求定积分近似值 5.用梯形法求定积分近似值 梯形法的基本思想: 求定积分 把区间[a,b]平均分成n个小区间,以每个小区间左端点的函数值为上底、右端点的函数值为下底、小区间长度为高作梯形,然后把这n个小梯形的面积相加,即为所求的定积分的近似值。 显然,小区间数n越大,求得的定积分的近似求值的精度也越高。并且可以看出,对于同样的小区间数,梯形法的精度比矩形法高。 5.用梯形法求定积分近似值 5.用梯形法求定积分近似值 课堂小结 熟练掌握本节所讲的所有算法, 能够举一反三。 * 1.用普通迭代法求方程的近似实根 2.用二分法求一元非线性方程在某区间上的近似实根 3.用牛顿切线法(又叫Newton迭代法)求方程在某区间 的近似实根 4.用矩形法求一元函数在某区间上的积分近似值 5.用梯形法求一元函数在某区间上的积分近似值 迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。 例如:上一讲的【例4】:Fibonacci(斐波纳契数列) a0= 0 a1= 1 a2=a0+a1 a3=a1+a2 a4+=a2+a3 a5+=a3+a4 a6+=a4+a5 …… an=an-2+an-1 …… 0 1 1 2 3 5 8 …… an …… 迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。 再如:猴子吃桃 猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天猴子又将剩下的桃子吃掉一半,又多吃一个。以后每天都吃掉前一天剩下的一半零一个。到第10天再想吃时,发现只剩下一个桃子。问猴子第一天共摘了多少桃子。 1 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a9=2(a10+1) 4 a8=2(a9+1) 10 a7=2(a8+1) 22 a6=2(a7+1) 46 a5=2(a6+1) 94 a4=2(a5+1) 190 a3=2(a4+1) 382 a2=2(a3+1) 766 a1=2(a2+1) 1534 普通迭代法的基本思想: 求一元非线性方程f(x)=0 的实根。 (1)、将方程f(x)=0化为它的等价方程:x=g(x) , (2)、设定一个x的初值x0; (3)、用x=g(x)求出x的下一个值x1;

文档评论(0)

bodkd + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档