数值分析实验五非线性方程的求根2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析实验五非线性方程的求根2

数值分析实验五 非线性方程的求根 组号 班级 学号 姓名 分数 一:实验目的 用MATLAB软件对非线性方程组求根,并对结果作初步分析。 用两种不同的求根方法求解,比较哪种方法最简便。 二:实验内容及基本知识介绍 简单迭代法: 解非线性方程组的迭代法和非线性方程一样,首先需要将F(x)=0转化为等价方程组:简记为。其中, 由此构造迭代公式:这种方法称为简单迭代法,或称为不动点迭代法。仍成为迭代函数,用不同的迭代方法可构造不同的迭代函数可得到不同的迭代法。给定初始向量,由迭代公式可产生向量序列。 若存在,则称为收敛序列,其中是方程组的解,又称为方程组的不动点。 牛顿迭代法的原理: 单个方程的牛顿迭代法可以推广到方程组的情形,它也是简单迭代法的特殊情形。牛顿法的原理是用线性函数近似非线性函数,逐次用线性方程组的解近似非线性方程组的解。 线性化方法:对于方程组,设具有对的二阶偏导数。又设方程组有近似解。 将在点作多元函数Taylor展开,并取其线性部分。令上式右端为零,得到线性方程组,(2-33)其中 为x处的各个一阶偏导数矩阵,称为的雅可比矩阵。 由(2-33)得到牛顿迭代公式: (2-34) 牛顿迭代过程:记,则由方程组(2-33)得到。当时,解出,则有 。对于近似解,再重复上面计算,这就是牛顿迭代过程,迭代公式为 牛顿法的计算过程: 步骤一:准备,选定初始近似值,计算 步骤二:迭代,按公式 迭代一次,得到新的近似值,计算 步骤三:控制,如果满足或,则终止迭代,以作为所求的根;否则转步骤四,此处是允许误差,而 其中c是取绝对误差或相对误差的控制常数,一般可取c=1。 步骤四:修改,如果迭代次数达到预先制定的次数N,或者 则方法失败;否则以代替转步骤二继续迭代。 牛顿法的收敛性:设函数在解向量附近具有二阶连续偏导数,Jacobi矩阵在为非奇异矩阵,则对附近的初始向量,牛顿迭代过程收敛(具有平方收敛的)。 三:实验问题及方法、步骤 分别用简单迭代法和牛顿法求下面方程组在附近的解。 简单迭代法: 编程如下: 先构建M-file:名为iterates.m function [xstar,index,it]=iterates(G,x,ep,it_max) if nargin4 it_max=100;end if nargin3 ep=1e-5;end index=0;k=1; while k=it_max x1=x;x=feval(G,x) if norm(x-x1)=ep index=1;break; end k=k+1; end xstar=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.m function f=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.5 0.5]) 得到方程组的解为: f = x = f= x= 0.5111 0.5111 0.5161 0.5161 0.5184 0.5184 0.5114 0.5114 f = x = f = x = 0.5199 0.5199 0.5222 0.5222 0.5109 0.5109 0.5097 0.5097 f = x =

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档