数值分析实验作业_第1页
数值分析实验作业_第2页
数值分析实验作业_第3页
数值分析实验作业_第4页
数值分析实验作业_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析实验(二)1、求下列方程的实根。(1)(2)要求:(1) 设计一种不动点迭代方法,要使迭代数列收敛,然后再使用史特芬森加速迭代,计算到为止。(2) 用牛顿迭代,同样计算到,输出迭代初值及各次迭代值和迭代次数k,比较方法的优劣。解:(1)先做出方程的图像,找一个近似值ezplot('x2-3*x+2-exp(x)'); grid on;由图形可知方程的实根位于-1,1之间,取迭代初值为构造不动点迭代公式即当0<x<1时,故迭代公式收敛。程序为:format long; f=inline('(x2+2-exp(x)/3') disp('x

2、='); x=feval(f,0.5); disp(x); Eps=1E-8; i=1; while 1 x0=x; i=i+1; x=feval(f,x); disp(x); if abs(x-x0)<Eps break; end endi,x结果为:f = 内联函数: f(x) = (x2+2-exp(x)/3x= 0.200426243099957 0.272749065098375 0.253607156584130 0.258550376264936 0.257265636335094 0.257598985162190 0.257512454514832 0.2575

3、34913615251 0.257529084167956 0.257530597238331 0.257530204510457 0.257530306445639 0.257530279987668 0.257530286855014i = 14x = 0.257530286855014使用斯特芬森加速迭代的程序为:format long; f=inline('x-(x2+2-exp(x)/3-x)2/(x2+2-exp(x)/3)2+2-exp(x2+2-exp(x)/3)/3-2*(x2+2-exp(x)/3+x)'); disp('x='); x=fe

4、val(f,0.5); disp(x); Eps=1E-8; i=1; while 1 x0=x; i=i+1; x=feval(f,x); disp(x); if abs(x-x0)<Eps break; end end i,x 运行结果为:x= 0.258684427565791 0.257530317719808 0.257530285439861 0.257530285439861i = 4x = 0.257530285439861使用牛顿迭代法的程序为:format long; x=sym('x'); f=sym('x2-3*x+2-exp(x)'

5、;); df=diff(f,x); FX=x-f/df; Fx=inline(FX); disp('x='); x1=0.5; disp(x1); Eps=1E-8; i=0; while 1 x0=x1; i=i+1; x1=feval(Fx,x1); disp(x1); if abs(x1-x0)<Eps break; end end i,x1 结果为:x= 0.500000000000000 0.253688702418292 0.257528900794710 0.257530285439681 0.257530285439861i = 4x1 = 0.25753

6、0285439861(2)先做出方程的图像,找一个近似值ezplot('x3+2*x2+10*x-20'); grid on;由图形可知方程的实根位于1,2之间,取迭代初值为构造不动点迭代公式即程序为:format long; f=inline('(-2*x2-10*x+20)1/3') disp('x='); x=feval(f,1.5); disp(x) Eps=1E-8; i=1; while 1 x0=x; i=i+1; x=feval(f,x); disp(x); if abs(x-x0)>1E10 break; end if a

7、bs(x-x0)<Eps break; end end i,x结果为:f = 内联函数: f(x) = (-2*x2-10*x+20)1/3x= 0.166666666666667 6.092592592592593 -38.388431641518061 -8.478196837919431e+02 -4.763660785374071e+05 -1.512815059604763e+11i = 6x =-1.512815059604763e+11迭代之后发现x的值很大,而且越来越多,说明上面构造的式子并不收敛。该题无法构造收敛的不动点公式。使用牛顿迭代法程序如下:format long; x=sym('x'); f=sym('x3+2*x2+10*x-20'); df=diff(f,x); FX=x-f/df; Fx=inline(FX); disp('x='); x1=0.5; disp(x1); Eps=1E-8; i=0; while 1 x0=x1; i=i+1; x1=feval(Fx,x1); disp(x1); if abs(x1-x0)<Eps break; end end i,x1结果为:x= 0.500000000000000 1.627450980392157 1.38692

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论