网站大量收购闲置独家精品文档,联系QQ:2885784924

matlab实现牛顿迭代法求解非线性方程组.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab 实现牛顿迭代法求解非线性方程组 已知非线性方程组如下 3*x1-cos(x2*x3)-1/2=0 x1^2-81*(x2+0.1)^2+sin(x3)+1.06=0 exp(-x1*x2)+20*x3+(10*pi-3)/3=0 求解要求精度达到0.00001 ———————————————————————————————— 首先建立函数fun 储存方程组编程如下将fun.m 保存到工作路径中: function f=fun(x); %定义非线性方程组如下 %变量x1 x2 x3 %函数f1 f2 f3 syms x1 x2 x3 f1=3*x1-cos(x2*x3)-1/2; f2=x1^2-81*(x2+0.1)^2+sin(x3)+1.06; f3=exp(-x1*x2)+20*x3+(10*pi-3)/3; f=[f1 f2 f3]; ———————————————————————————————— 建立函数dfun 用来求方程组的雅克比矩阵将dfun.m 保存到工作路径中: function df=dfun(x); %用来求解方程组的雅克比矩阵储存在dfun 中 f=fun(x); df=[diff(f,x1);diff(f,x2);diff(f,x3)]; df=conj(df); ———————————————————————————————— 编程牛顿法求解非线性方程组将newton.m 保存到工作路径中: function x=newton(x0,eps,N); con=0; %其中x0 为迭代初值eps 为精度要求N 为最大迭代步数con 用来记录结果是否收敛 for i=1:N; f=subs(fun(x0),{x1 x2 x3},{x0(1) x0(2) x0(3)}); df=subs(dfun(x0),{x1 x2 x3},{x0(1) x0(2) x0(3)}); x=x0-f/df; for j=1:length(x0); il(i,j)=x(j); end if norm(x-x0)eps con=1; break; end x0=x; end % 以下是将迭代过程写入txt 文档文件名为iteration.txt fid=fopen(iteration.txt,w); fprintf(fid,iteration); for j=1:length(x0) fprintf(fid, x%d,j); end for j=1:i fprintf(fid,\n%6d ,j); for k=1:length(x0) fprintf(fid, %10.6f,il(j,k)); end end if con==1 fprintf(fid,\n 计算结果收敛!); end if con==0 fprintf(fid,\n 迭代步数过多可能不收敛!); end fclose(fid); ———————————————————————————————— 运行程序 在matlab 中输入以下内容 newton([0.1 0.1 -0.1],0.00001,20) ———————————————————————————————— 输出结果 ans = 0.5000 0.0000 -0.5236 ——————————————————————————————————————————————— 在iteration 中查看迭代过程 iteration x1 x2 x3 1 0.490718 0.031238 -0.519661 2 0.509011 0.003498 -0.521634 3 0.500928 0.000756 -0.523391 4 0.500227 0.000076 -0.523550 5 0.500019 0.000018 -0.523594

文档评论(0)

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

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

1亿VIP精品文档

相关文档