第二章迭代法和二分法.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文档。上传文档
查看更多
第二章迭代法和二分法

非线性方程——就是因变量与自变量之间的关系不是线性的关系,这类方程很多,例如平方关系、对数关系、指数关系、三角函数关系等等。求解此类方程往往很难得到精确解,经常需要求近似解问题。 解决此问题的最主要的两种方法是——迭代法和二分法。 1、定义 迭代法——逐次逼近的方法,在工程技术上也叫做试算法。从隔根区间(a0,b0)中的任一个初始近似值x0出发,按照某种格式构造一个序列 x0,x1,x2,…… 使得这个序列的极限就是f(x)=0的跟x*,即 另一种方法是把方程f(x)=0写成等价形式x=φ(x),然后令xk+1=φ(xk) k=0,1,2,…… 2、算法核心 参数说明: x0——开始存放初始值,迭代中存放第k次近似值(实型变量,输入参数); x——迭代中存放第k+1次近似值,最终存放方程的跟(实型变量,输出参数); eps——根的精度控制量(实型变量,输出参数)。 时,认为xk+1是方程的跟。 3、迭代法的收敛性 如果从初值x0出发,按照迭代公式进行迭代计算的过程中,xk逐次接近于方程的跟,则称迭代公式是收敛的,否则是发散的。迭代法可行的必要条件是迭代过程必须收敛,收敛越快,则其收敛性越好。 判别条件——迭代函数的一阶导数在其定义区间[a,b]内的绝对值小于1,迭代过程收敛,否则,则发散。 加速迭代过程的3个因素: (1)选择的迭代初值应尽量接近于方程的根; (2)迭代函数一阶导数在迭代区间的绝对值越小,收敛速度越快; (3)所求解方程的原函数f(x)的泰勒展开式中的二阶及二阶以上的高阶导数的值尽可能小,以致可以略去不计时,收敛速度越快。 迭代法缺点——一是存在迭代过程不收敛的可能性,这将无法求解;二是存在收敛速度极缓慢的问题,这将导致大大降低效率甚至难于计算。 1、定义 二分法——也称对分法,是另一种简单易行的求非线性方程数值解的方法。不仅克服了迭代法可能不收敛的缺欠,即在有根区间用二分法肯定收敛于极值,而且其收敛速度也很快。 假设有一个非线性方程f(x)=0,x在[a0, b0]区间内,当f(x)在区间[a0, b0]上单调连续,且f(x)在其区间[a0, b0]的两个端点处的值异号,即f(a0)·f(b0)0时,则方程在[a0, b0]区间内有根,且只有一个根x*。 2、求单根算法核心 基本思想——将方程有根区间[a0, b0]分为两个小区间(称二分),取a0,b0的中点x1=(a0+b0)/2,并计算f(x1)的值;如果f(x1)与f(a0)同号,则方程的根必在[x1, b0]区间,反之,f(x1)与f(a0)异号,则根在[a0, x1]区间。通过这样的方法找出并确定新的有根区间[a1, b1],然后再将新的有根区间二分为两个小区间,如此继续下去,就可得到一个有根区间套 (1)直至某一小区间端点处的函数f(xk)的绝对值小于给定精度ε1,即 f(xk) ε1 式中k为寻找中点或二分有根区间的次数,xk为第k次二分时的中点值,则有xk=ak;或xk= bk; (2)或者直至某区间[ak, bk]的长度小于给定的精度ε2,即跟的绝对误差限小于ε2, 便可以得到一个满意的近似值。 参数说明: a0,b0——求根区间的下限与上限(实型变量,输入参数); eps——根的精度控制量,即ε2(实型变量,输入参数); x,y——分别存放近似根及其相应的函数值(实型变量,输出参数);f——函数子程序名,表示被求解的方程。 函数特点——始终通过判断某一有根区间二分后的中点函数值f(xk)与求根初始区间的左端点处函数值f(a0)的乘积f(xk)·f(a0)是否大于零,来确定下一个有根区间。 这里并没有考虑精度ε1的影响,即没有考虑某一小区间内端点处的函数的绝对值是否小于精度。 缺点——不能判断某一区间是否有根或有几个根。 3、求所有单重实根的算法核心 基本思想——需求出区间[a, b]上所有的单重实根,满足两个求根精度控制量ε1或ε2。自a点开始,以一个基本步长h,向右逐次分割出宽度为h的小区间[a0, b0]。若小区间两端点处的函数值f(a0)与f(b0)异号,则用二分法找出其中存在的一个根;若同号,则继续向右分割,重复上述操作,直至分割的小区间已超过定义或求根区间[a, b]为止。 步长h可以选的小些,以便每个小区间内最多只有一个根,这样并不浪费很多机时,根据问题的性质h也没有必要太小。 参数说明: a,b——求根区间[a, b](实型变量,输入参数); h——步长(实型变量,输入参数); n——估计根的最多个数(与x方次数有关,整型变量,输入参数); ep1——函数值精度控制量ε1(实型变量,输入参数); ep2——根的精度控制量ε2(实型变量,输入参数); k——实际

文档评论(0)

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

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

1亿VIP精品文档

相关文档