数值分析实验五-非线性方程的求根2_第1页
数值分析实验五-非线性方程的求根2_第2页
数值分析实验五-非线性方程的求根2_第3页
数值分析实验五-非线性方程的求根2_第4页
数值分析实验五-非线性方程的求根2_第5页
全文预览已结束

下载本文档

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

文档简介

数值分析实验五非线性方程的求根组号班级学号姓名分数一:实验目的用MATLAB软件对非线性方程组求根,并对结果作初步分析。用两种不同的求根方法求解,比拟哪种方法最简便。二:实验内容及根本知识介绍简单迭代法:解非线性方程组的迭代法和非线性方程一样,首先需要将F〔x〕=0转化为等价方程组:简记为。其中,由此构造迭代公式:这种方法称为简单迭代法,或称为不动点迭代法。仍成为迭代函数,用不同的迭代方法可构造不同的迭代函数可得到不同的迭代法。给定初始向量,由迭代公式可产生向量序列。假设存在,那么称为收敛序列,其中是方程组的解,又称为方程组的不动点。牛顿迭代法的原理:单个方程的牛顿迭代法可以推广到方程组的情形,它也是简单迭代法的特殊情形。牛顿法的原理是用线性函数近似非线性函数,逐次用线性方程组的解近似非线性方程组的解。线性化方法:对于方程组,设具有对的二阶偏导数。又设方程组有近似解。将在点作多元函数Taylor展开,并取其线性局部。令上式右端为零,得到线性方程组,〔2-33〕其中为x处的各个一阶偏导数矩阵,称为的雅可比矩阵。由〔2-33〕得到牛顿迭代公式:〔2-34〕牛顿迭代过程:记,那么由方程组〔2-33〕得到。当时,解出,那么有。对于近似解,再重复上面计算,这就是牛顿迭代过程,迭代公式为牛顿法的计算过程:步骤一:准备,选定初始近似值,计算步骤二:迭代,按公式迭代一次,得到新的近似值,计算步骤三:控制,如果满足或,那么终止迭代,以作为所求的根;否那么转步骤四,此处是允许误差,而其中c是取绝对误差或相对误差的控制常数,一般可取c=1。步骤四:修改,如果迭代次数到达预先制定的次数N,或者那么方法失败;否那么以代替转步骤二继续迭代。牛顿法的收敛性:设函数在解向量附近具有二阶连续偏导数,Jacobi矩阵在为非奇异矩阵,那么对附近的初始向量,牛顿迭代过程收敛〔具有平方收敛的〕。三:实验问题及方法、步骤分别用简单迭代法和牛顿法求下面方程组在附近的解。简单迭代法:编程如下:先构建M-file:名为iterates.mfunction[xstar,index,it]=iterates(G,x,ep,it_max)ifnargin<4it_max=100;endifnargin<3ep=1e-5;endindex=0;k=1;whilek<=it_maxx1=x;x=feval(G,x)ifnorm(x-x1)<=epindex=1;break;endk=k+1;endxstar=x;it=k;%G〔x〕为需要求解的函数;%x为初始向量〔列向量〕;%ep为精度,缺省值为1e-5,%当时,终止计算;%it_max为最大迭代次数,缺省值为100;%xstar为当迭代成功时,输出方程的根,%xstar为迭代失败时,输出最后的迭代值,%index为指标变量,%当index=1时,说明迭代成功,%index=0说明迭代次数>=it_max,失败,%it为迭代次数。在构建M-file:名为G.mfunctionf=G(x)f=[0.7*sin(x(1))+0.2*cos(x(2));0.7*cos(x(1))-0.2*sin(x(2))]调用简单迭代函数iterates.m求方程组的解:iterates(@G,[0.50.5]')得到方程组的解为:f=x=f=x=0.51110.51110.51610.51610.51840.51840.51140.5114f=x=f=x=0.51990.51990.52220.52220.51090.51090.50970.5097f=x=f=x=0.52370.52370.52470.52470.50910.50910.50870.5087f=x=f=x=0.52540.52540.52580.52580.50840.50840.50820.5082f=x=f=x=0.52600.52600.52620.52620.50810.50810.50810.5081f=x=f=x=0.52630.52630.52640.52640.50800.50800.50800.5080f=x=f=x=0.52650.52650.52650.52650.50790.50790.50790.5079f=x=f=x=0.52650.52650.52650.52650.50790.50790.50790.5079ans=0.52650.5079此简单迭代法共迭代计算了十七次,最终得出结果。牛顿法:编程如下:先构建M文件,名为Newtons.mfunction[xstar,index,it]=Newtons(funs,x,ep,it_max)ifnargin<4it_max=100;endifnargin<3ep=1e-5;endindex=0;k=1;whilek<=it_maxx1=x;[f,J]=feval(funs,x);ifabs(det(J))<epbreak;endx=x-J\f;ifnorm(x-x1)<=epindex=1;break;endk=k+1;endxstar=x;it=k;%funs为需要求解的函数,%funs的第一个因变量是函数向量,%funs的第二个因变量是Jacobi矩阵;%x为初始向量〔列向量〕;%ep为精度,缺省值为1e-5,%当时,终止计算;%it_max为最大迭代次数,缺省值为100;%xstar为当迭代成功时,输出方程的根,%xstar为迭代失败时,输出最后的迭代值,%index为指标变量,%当index=1时,说明迭代成功,%index=0说明迭代次数>=it_max,失败,%it为迭代次数。调用牛顿法函数求非线性方程组的解:options=optimset('Display','iter');[x,fval]=fsolve(@funs,[0.50.5],options)其结果为:NormofFirst-orderTrust-regionIterationFunc-countf(x)stepoptimalityradius030.0004629250.02271166.34836e-0080.02799590.0002671291.01786e-0150.0003161253.35e-0081Optimizationterminated:first-orderoptimalityislessthanoptions.TolFun.x=0.52650.5079fval=1.0e-007*0.16800.2712该牛顿法共迭代计算了三次就得出了结果。四计算结果分析对于非线性方程求根实验,输出的结果如上所述,用两种不同的方法解同一个非线性方程组的根,简单迭代法与牛顿法相比拟,两种方法的计算结果一样,但牛顿法相比拟而言简单些,只迭代计算三次,而简单迭代法却迭代计算十七次。从而可以看出简单迭代法比牛顿法繁琐、复杂。

五思考与提高非线性现象广泛存在于物质世界与社会生活中,在工程和科学计算中,如电路和电力系统计算、非线性力学、非线性微分和积分方程、非线性规划等众多领域中,常涉及非线性方程或非线性方程组的求解问题。非线性方程组的解法和理论是当今数值分析研究的重要课题之一,也是科学计算经常遇到的,这里只是用到了简单迭代法和牛顿法。牛顿法是最常用的迭代方法,它是

温馨提示

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

最新文档

评论

0/150

提交评论