非线性方程二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法.docVIP

非线性方程二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西京学院数学软件实验任务书 课程名称 数学软件实验 班级 数0901 学号 0912020119 姓名 王震 实验课题 非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法 实验目的 熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法 实验要求 运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成 实验内容 非线性方程的二分法 非线性方程的迭代法 非线性方程的松弛迭代法 非线性方程的Aitken迭代法 非线性方程的Steffensen迭代法 成绩 教师 【实验课题】 非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法 【实验目的】 熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法 【实验内容】 1、二分法 假定方程在区间内有唯一的实根 。此时,即为有根区间。 1.1基本思想 : 首先确定有根区间,然后平分有根区间,通过判断区间端点处的函数值符号,逐步将有根区间缩小,直至有根区间足够地小,便可求出满足给定精度要求的根的近似值。 1.2算法过程: 取,将代入方程,判断它的正负号,并用替换与它同方向的区间端点,依次循环得到: 其中,每一段的长度都是前一段长度的一半。即: 因此,如果二分过程无限进行下去,则有根区间最终必收敛于一点,该点就是所求方程的根。 1.3算法步骤: 步骤1 输入有根区间的端点,及预先给定的精度 步骤2 步骤3 若,则输出.计算结束;若,则,转向步骤4;否则,转向步骤4 步骤4 若,则输出方程满足精度的根,结束;否则转向步骤2 2、迭代法 2.1基本思想 : 给定方程的一个初始近似根,然后反复使用某一公式来校正这个初始近似根,使之逐步精确化,直到满足预先给定的精度要求为止。 2.2算法过程: 取一个根的初始近似值,计算,,…,,…,得到一个迭代序列,。 若迭代序列收敛,则称迭代公式或迭代法是收敛的,否则称迭代公式是发散的。 假设迭代序列收敛于 ,即则当连续时,对迭代公式 两边取极限,可得,即 ,所以 由此表明,序列的极限就是方程的根。同样,对于预先给定的精度,只要 适当大且满足就可结束计算并取。 2.3 算法步骤: 1、确定方程的等价形式 2、为使迭代过程收敛,要求在有根区间内满足 3、选取初始近似根,按迭代公式进行计算, 4、当( 是预定精度)时停止计算,取 3、松弛迭代法 求解思路: 对于式子,给两边同时减去,得: 即得到迭代公式:, 上式可变形为; 令:,则: 其中为松弛因子。 4、Aitken迭代法 求解思路: 设线性收敛到,记,有 当充分大时有 (1) (2) 其中,,将(1),(2)相除,即: 从而可求得: 令 此时得到一个新的序列它比原序列收敛得快。 5、Steffensen迭代法 求解思路: 设 是根 的某个预测值,用迭代公式校正一次得: , 则有: (1) (2) (1)(2)相除就得到Steffensen迭代法,即: 因此, 与Aitken迭代法不同的是,Steffensen迭代法代入数值时用已算出来的进行计算,而Aitken迭代法是在原序列的基础上产生新的序列。 【程序】function [x,k]=bisect() a=input(please input a number a=\n); b=input(please input a number b=\n); err=input(please input a number err=\n); ya=fun(a); yb=fun(b); if ya*yb0 disp(初值不符!); return end k=0; while (b-a)err k=k++1; c=(a+b)/2; yc=fun(c); if yc==0 a=c; b=c; elseif yb*yc0 b=c; yb=yc; else a=c; ya=yc; end end x=(a+b)/2; k; end %%%%%%%%%%%%%%%%%%%%%%%%%%% function [x,k]=diedai1() x0=input(输入初值x0=\n); N=input(请输入最大迭代次数N=\n); err=input(请输入最大极限err=\n); k=0; x1=fun1(x0); cha=abs(x1-x0

文档评论(0)

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

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

1亿VIP精品文档

相关文档