数值分析非线方程求根实验.doc_第1页
数值分析非线方程求根实验.doc_第2页
数值分析非线方程求根实验.doc_第3页
数值分析非线方程求根实验.doc_第4页
数值分析非线方程求根实验.doc_第5页
全文预览已结束

下载本文档

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

文档简介

实验报告一、实验目的1迭代函数对收敛性的影响。2初值的选择对收敛性的影响。 二、实验题目1用简单迭代法求方程的根。分别化方程为如下等价方程:;取初值,精度为,最大迭代次数为500,观察其计算结果并加以分析。2用牛顿法求方程在0.5附近的根,分别取初值观察并比较计算结果,并加以分析。用牛顿法求方程所有根。三、实验原理简单迭代法程序,牛顿迭代法程序。四、实验内容及结果1用简单迭代法求方程的根:1)先输入简单迭代法的M程序,在MATLAB的M文件窗口中输入以下内容并保存:function x=maiter(phi,x0,ep,N)if nargin4 N=500;endif nargin3 ep=1e-4;endk=0;while kN x=feval(phi,x0); if abs(x-x0)ep break; end x0=x;k=k+1;endif k=N,warning(已达迭代次数上限);enddisp(k=,num2str(k)2)再输入以下程序,在M文件窗口输入以下内容并保存:clc;clear;format longx1=maiter(inline(x+1)(1/3),1.5,1e-5)x2=maiter(inline(x3-1),1.5,1e-5)x3=maiter(inline(1+1/x)(1/2),1.5,1e-5)x4=maiter(inline(x3+x-1)/2),1.5,1e-5)3)主窗口显示的结果为:k=6x = 1.324719474534364k=500x2= Infk=7x = 1.324718688942791k=500x4= Inf2用牛顿迭代法求方程在0.5附近的根:1)先输入牛顿迭代法的M程序,在MATLAB的M文件窗口中输入以下内容并保存:function x=manewton(fun,dfun,x0,ep,N)if nargin5,N=500;endif nargin4,ep=1e-4;endk=0;while kN x=x0-feval(fun,x0)/feval(dfun,x0); if abs(x-x0)ep break; end x0=x;k=k+1;endif k=N,warning(已达迭代次数上限);enddisp(k=,num2str(k)2)再输入以下程序,在M文件窗口输入以下内容并保存:clc;clear;format longfun=inline(x3-x-1);dfun=inline(3*x2-1);-1000,x1=manewton(fun,dfun,-1000,1e-4)-100,x2=manewton(fun,dfun,-100,1e-4)-2,x3=manewton(fun,dfun,-2,1e-4)-1,x4=manewton(fun,dfun,-1,1e-4)-0.5,x5=manewton(fun,dfun,-0.5,1e-4)0.5,x6=manewton(fun,dfun,0.5,1e-4)1,x7=manewton(fun,dfun,1,1e-4)2,x8=manewton(fun,dfun,2,1e-4)100,x9=manewton(fun,dfun,100,1e-4)1000,x10=manewton(fun,dfun,1000,1e-4)3)在MATLAB的主程序窗口输出以下结果:ans = -1000k=21x1 = 0.682327804075895ans = -100k=16x2 = 0.682327803903413ans = -2k=6x3 = 0.682327803828020ans = -1k=5x4 = 0.682327803828020ans = -0.500000000000000k=4x5 = 0.682327803903932ans = 0.500000000000000k=3x6 = 0.682327803828347ans = 1k=3x7 = 0.682327803946513ans = 2k=5x8 = 0.682327803828368ans = 100k=14x9 = 0.682327807263074ans = 1000k=20x10 = 0.6823278038536193用牛顿法求方程所有根:1)由于之前已经输过牛顿迭代法的M程序,所以可以直接调用。输入以下内容并保存:clc;clear;format longfun=inline(x3-x);dfun=inline(3*x2-1);x1=manewton(fun,dfun,-0.5,1e-4)x2=manewton(fun,dfun,0.5,1e-4)x3=manewton(fun,dfun,0.3,1e-4)2)在MATLAB的主程序窗口输出以下结果:k=1x1 = 1k=1x2 = -1k=3x3 = 0五、实验结果分析(1)实验1中用简单迭代法求方程的根:取初始值的时候,等价方程2和4是不收敛的。等价方程1的迭代次数为6,近似值为1.324719474534364。等价方程3的迭代次数为7,近似值为1.324718688942791。说明不同的等价方程得到的结果以及迭代的次数是不一样的。(2)实

温馨提示

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

最新文档

评论

0/150

提交评论