网站大量收购闲置独家精品文档,联系QQ:2885784924

数学实验“非线性方程的分法,迭代法,Aitken迭代法,Steffensen迭代法”实验报告(内含matlab程序代码).docVIP

数学实验“非线性方程的分法,迭代法,Aitken迭代法,Steffensen迭代法”实验报告(内含matlab程序代码).doc

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多
数学实验“非线性方程的分法,迭代法,Aitken迭代法,Steffensen迭代法”实验报告(内含matlab程序代码)

西京学院数学软件实验任务书 课程名称 数学软件实验 班级 数0901 学号 0912020107 姓名 李亚强 实验课题 非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法 实验目的 熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法 实验要求 运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成 实验内容 非线性方程的二分法 非线性方程的迭代法 非线性方程的松弛迭代法 非线性方程的Aitken迭代法 非线性方程的Steffensen迭代法 成绩 教师 实验六实验报告 实验名称:非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法。 实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法,提高matlab编程能力。 实验要求:非线性方程,应用二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法编程求解非线性方程的数值解。 实验原理: 二分法: 设函数在区间上连续,而且,则在区间上至少有一个根。 首先确定有限区间:依据零点定理。设 ,且,则方程 在区间上至少有一个根。如果在上恒正或恒负,则此根唯一。 令若,则为有根区间,否则为有根区间。记新的有根区间为, 则且;对重复上述做法得:且 设所求的根为,则,即,由得 取为的近似解。 不动点迭代法 对于非线性方程:常常可以化成等价的方程可以选取一个初始近似值,构造迭代序列 如此产生序列。这种迭代方法称为不动点迭代,或Picard 迭代。这个原理看似很容易直观理解,但是却有相当深刻的数学内涵,数学系的学生在泛函分析与微分方程理论等多门专业课程里都会遇到。如果连续,而且,则是的一个不动点。因此为方程的一个根。 Aitken加速迭代 由初值出发,计算出后,便可在曲线上找到两个点。将这两点所在的直线与直线的交点设为,则点满足:解得:,将视为新的初值,重复上述步骤可得,由此产生迭代公式,。 Steffensen迭代法 该迭代法解方程可以看成是另一种不动点迭代:其中迭代函数为得到迭代公式为: ; 实验内容: %二分法解非线性方程 function er_fen(f,a,b,esp); f1=subs(f,a); f2=subs(f,b); if f1*f20 disp(该方程在【a,b】上无解!); elseif f1==0 root=a; elseif f2==0 root=b; else a0=a; b0=b; A=[]; while abs((b0-a0)/2)=esp half=(a0+b0)/2; fa=subs(f,a0); fb=subs(f,b0); fhalf=subs(f,half); if fhalf==0 root=half; break; elseif fa*fhalf0 b0=half; else a0=half; end A=[A,half]; end root=(b0+a0)/2; end root A %不动点迭代(Picard迭代) function [x,time]=Picard(f,x0,tol) %结果给出迭代次数 %x0 为迭代初值 %tol 为误差容限 if(nargin==2) tol=1.0e-5; end wucha=0.5; %设置误差初值 x1=x0; %x1 与x0 为前后两次计算结果 time=0; %用于记录迭代次数 while(wuchatol) x1=subs(f,x0)+x0; %迭代计算 wucha=abs(x1-x0); x0=x1; % 更新x0的值在循环中这一句非常重要 time=time+1; %记下迭代次数 end x=x1; %Aitken加速收敛方法 function [gen,time]=Aitken(func,x0,tol) if(nargin==2) tol=1.0e-5; end gen=x0; x(1:2)=[0,0]; t=0; %记录迭代次数 m=0; x2=x0; wucha=0.1; %设置误差初值 while(wuchatol) t=t+1; %记下累积

文档评论(0)

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

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

1亿VIP精品文档

相关文档