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

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

ID:38166263

大小:47.95 KB

页数:5页

时间:2019-05-31

matlab实现牛顿迭代法求解非线性方程组_第1页
matlab实现牛顿迭代法求解非线性方程组_第2页
matlab实现牛顿迭代法求解非线性方程组_第3页
matlab实现牛顿迭代法求解非线性方程组_第4页
matlab实现牛顿迭代法求解非线性方程组_第5页
资源描述:

《matlab实现牛顿迭代法求解非线性方程组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、matlab实现牛顿迭代法求解非线性方程组已知非线性方程组如下3*x1-cos(x2*x3)-1/2=0x1^2-81*(x2+0.1)^2+sin(x3)+1.06=0exp(-x1*x2)+20*x3+(10*pi-3)/3=0求解要求精度达到0.00001————————————————————————————————首先建立函数fun储存方程组编程如下将fun.m保存到工作路径中:functionf=fun(x);%定义非线性方程组如下%变量x1x2x3%函数f1f2f3symsx1x2x3f1=3*x1-cos(x2*x3)-1/2;f2=x1^2-81

2、*(x2+0.1)^2+sin(x3)+1.06;f3=exp(-x1*x2)+20*x3+(10*pi-3)/3;f=[f1f2f3];————————————————————————————————建立函数dfun用来求方程组的雅克比矩阵将dfun.m保存到工作路径中:functiondf=dfun(x);%用来求解方程组的雅克比矩阵储存在dfun中f=fun(x);df=[diff(f,'x1');diff(f,'x2');diff(f,'x3')];df=conj(df');————————————————————————————————编程牛顿法求解非线

3、性方程组将newton.m保存到工作路径中:functionx=newton(x0,eps,N);con=0;%其中x0为迭代初值eps为精度要求N为最大迭代步数con用来记录结果是否收敛fori=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;forj=1:length(x0);il(i,j)=x(j);endifnorm(x-x0)

4、d%以下是将迭代过程写入txt文档文件名为iteration.txtfid=fopen('iteration.txt','w');fprintf(fid,'iteration');forj=1:length(x0)fprintf(fid,'x%d',j);endforj=1:ifprintf(fid,'%6d',j);fork=1:length(x0)fprintf(fid,'%10.6f',il(j,k));endendifcon==1fprintf(fid,'计算结果收敛!');endifcon==0fprintf(fid,'迭代步数过多可能不收敛

5、!');endfclose(fid);————————————————————————————————运行程序在matlab中输入以下内容newton([0.10.1-0.1],0.00001,20)————————————————————————————————输出结果ans=0.50000.0000-0.5236———————————————————————————————————————————————在iteration中查看迭代过程iterationx1x2x310.4907180.031238-0.51966120.5090110.003498-0.5

6、2163430.5009280.000756-0.52339140.5002270.000076-0.52355050.5000190.000018-0.52359460.5000050.000002-0.52359870.5000000.000000-0.523599计算结果收敛!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。