数值分析实验报告分析.docx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析实验报告 (第二章) 实验题目: 分别用二分法、牛顿迭代法、割线法、史蒂芬森迭代法求方程 fx=x2+1x-15=0 的根x=1,观察不同初始值下的收敛性,并给出结论。 问题分析: 题目有以下几点要求: 不同的迭代法计算根,并比较收敛性。 选定不同的初始值,比较收敛性。 实验原理: 各个迭代法简述 二分法:取有根区间[a,b]的重点x0,确定新的有根区间[a1,b1]的区间长度仅为[a,b]区间长度的一版。对压缩了的有根区间[a1,b1]重复以上过程,又得到新的有根区间[a2,b2],其区间长度为[a1,b1]的一半,如此反复,……,可得一系列有根区间,区间收敛到一个点即为根。 牛顿迭代法:不动点迭代法的一种特例,具有局部二次收敛的特性。迭代格式为 xn+1=xn-fxnfxn , n=0,1,2,… 割线法:是牛顿法的改进,具有超线性收敛的特性,收敛阶为1.618. 迭代格式为 xn+1=xn-fxnfxn-fxn-1xn-xn-1 , n=1,2,… 史蒂芬森迭代法:采用不动点迭代进行预估校正。至少是平方收敛的。迭代格式为 yn=φxn zn=φyn xn+1=xn-(yn-xn)2zn-2yn+xn 这里φx可采用牛顿迭代法的迭代函数。 实验内容: 写出该问题的fx函数 代码如下: function py= f(x) syms k; y=(k^2+1)*(k-1)^5; yy=diff(y,k); py(1)=subs(y,k,x); py(2)=subs(yy,k,x); end 分别写出各个迭代法的迭代函数 代码如下: 二分法: function y=dichotomie(a,b,e) i=2; m(1)=a; while abs(a-b)e t=(a+b)/2; s1=f(a); s2=f(b); s3=f(t); if s1(1)*s3(1)=0 b=t; else a=t; end m(i)=t; i=i+1; end y=[t,i+1,m]; end 牛顿迭代法: function y=NewtonIterative(x,e) i=2; en=2*e; m(1)=x; while abs(en)=e s=f(x); t=x-s(1)/s(2); en=t-x; x=t; m(i)=t; i=i+1; end y=[x,i+1,m]; end 牛顿割线法: function y=Secant(x1,x2,e) i=3; m(1)=x1,m(2)=x2; while abs(x2-x1)=e s1=f(x1); s2=f(x2); t=x2-(x2-x1)*s2(1)/(s2(1)-s1(1)); x1=x2; x2=t; m(i)=t; i=i+1; end y=[x2,i+1,m]; end 史蒂芬森迭代法: Function p=StephensonIterative(x,e) i=2; m(2)=x; en=2*e; while abs(en)=e y=fai(x); z=fai(y); t=x-(y-x)^2/(z-2*y+x); en=t-x; x=t; m(i)=t; i=i+1; end p=[x,i+1,m]; end 因为φx经常被使用,故可以写一个φx函数。 代码如下: function y=fai(x) s=f(x); y=x-s(1)/s(2); end 可以绘制不同的图形来比较不同迭代法的收敛性和不同初值下的收敛性。 代码如下: clear all; %相同初始值,不同迭代法下的收敛 x1=dichotomie(0,3,1e-10); x2=NewtonIterative(0,1e-10); x3=Secant(0,2, 1e-10); x4=StephensonIterative(0,1e-10); [x1(2),x2(2),x3(2),x4(2)] figure, subplot(2,2,1),plot(x1(3:x1(2))),title(二分法); subplot(2,2,2),plot(x2(3:x2(2))),title(牛顿迭代法); subplot(2,2,3),plot(x3(3:x3(2))),title(牛顿割线法); subplot(2,2,4),plot(x4(3:x4(2))),title(史蒂芬森迭代法); figure, subplot(2

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档