数值分析非线性方程求根实验.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析非线性方程求根实验

实验报告 一、实验目的 1.迭代函数对收敛性的影响。 2.初值的选择对收敛性的影响。 二、实验题目 1.用简单迭代法求方程的根。 分别化方程为如下等价方程: ;;; 取初值,精度为,最大迭代次数为500,观察其计算结果并加以分析。 2.①用牛顿法求方程在0.5附近的根, 分别取初值 观察并比较计算结果,并加以分析。 ②用牛顿法求方程所有根。 三、实验原理 简单迭代法程序,牛顿迭代法程序。 四、实验内容及结果 1.用简单迭代法求方程的根: 1)先输入简单迭代法的M程序,在MATLAB的M文件窗口中输入以下内容并保存: function x=maiter(phi,x0,ep,N) if nargin4 N=500;end if nargin3 ep=1e-4;end k=0; while kN x=feval(phi,x0); if abs(x-x0)ep break; end x0=x;k=k+1; end if k==N,warning(已达迭代次数上限);end disp([k=,num2str(k)]) 2)再输入以下程序,在M文件窗口输入以下内容并保存: clc; clear; format long x1=maiter(inline((x+1)^(1/3)),1.5,1e-5) x2=maiter(inline(x^3-1),1.5,1e-5) x3=maiter(inline((1+1/x)^(1/2)),1.5,1e-5) x4=maiter(inline((x^3+x-1)/2),1.5,1e-5) 3)主窗口显示的结果为: k=6 x = 1.324719474534364k=500 x2= Inf k=7 x = 1.324718688942791k=500 x4= Inf 2.用牛顿迭代法求方程在0.5附近的根: 1)先输入牛顿迭代法的M程序,在MATLAB的M文件窗口中输入以下内容并保存: function x=manewton(fun,dfun,x0,ep,N) if nargin5,N=500;end if nargin4,ep=1e-4;end k=0; while kN x=x0-feval(fun,x0)/feval(dfun,x0); if abs(x-x0)ep break; end x0=x;k=k+1; end if k==N,warning(已达迭代次数上限);end disp([k=,num2str(k)]) 2)再输入以下程序,在M文件窗口输入以下内容并保存: clc; clear; format long fun=inline(x^3-x-1); dfun=inline(3*x^2-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 = -1000 k=21 x1 = 0.682327804075895 ans = -100 k=16 x2 = 0.682327803903413 ans = -2 k=6 x3 = 0.682327803828020 ans = -1 k=5 x4 = 0.682327803828020 ans = -0.500000000000000 k=4 x5 = 0.682327803903932 ans = 0.500000000000000 k=3 x6 = 0.682327803828347 ans = 1 k=3 x7 = 0.682327803946513 ans = 2 k=5 x8 = 0.682327803828368 ans = 100 k=14 x9 = 0.6823278

文档评论(0)

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

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

1亿VIP精品文档

相关文档