




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
matlab实现牛顿迭代法求解非线性方程组matlab实现牛顿迭代法求解非线性方程组/NUMPAGES10matlab实现牛顿迭代法求解非线性方程组matlab实现牛顿迭代法求解非线性方程组matlab实现牛顿迭代法求解非线性方程组
已知非线性方程组如下3*x1-cos(x2*x3)-1/2=0
x1^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保存到工作路径中:
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);endfor
j=1:ifprintf(fid,'\n%6d
',j);for
k=1:length(x0)fprintf(fid,'
%10.6f',il(j,k));end
endif
con==1fprintf(fid,'\n计算结果收敛!');
endif
con==0fprintf(fid,'\n迭代步数过多可能不收敛!');endfclose(fid);————————————————————————————————运行程序在matlab中输入以下内容
newton([0.1
0.1
-0.1],0.00001,20)————————————————————————————————输出结果
——————————————————————————————————————————
在iteration中查看迭代过程
iteration
x1
x2
x3
.mulStablePoint用不动点迭代法求非线性方程组的一个根
function
[r,n]=mulStablePoint(F,x0,eps)
%非线性方程组:f
%初始解:a
%解的精度:eps
%求得的一组解:r
%迭代步数:n
if
nargin==2
eps=1.0e-6;
end
x0
=
transpose(x0);
n=1;
tol=1;
while
tol>eps
r=
subs(F,findsym(F),x0);
%迭代公式
tol=norm(r-x0);
%注意矩阵的误差求法,norm为矩阵的欧几里德范数
n=n+1;
x0=r;
if(n>100000)
%迭代步数控制
disp('迭代步数太多,可能不收敛!');
return;
end
end
x0=[000];
[r,n,data]=budong(x0);
disp('不动点计算结果为')
x1=[111];
x2=[222];
[x,n,data]=new_ton(x0);
disp(’初始值为0,牛顿法计算结果为:’)
[x,n,data]=new_ton(x1);
disp('初始值为1,牛顿法计算结果为:')
[x,n,data]=new_ton(x2);
disp('初始值为2,牛顿法计算结果为:')
budong.m
function[r,n,data]=budong(x0,tol)
ifnargin=-1
tol=1e-3:
end
x1=budongfun(x0);
n=1;
while(norm(x1-x0))tol)&(n500)
x0=x1;
x1=budong_fun(x0);
n=n+1:
data(:,n)=x1;
end
r=x1:
new_ton.m
function[x,n,data]=new_ton(x0,tol)
ifnargin=-1
tol=1e-8;
end
x1=x0-budong_fun(x0)/df1(x0);
n=1;
while(norm(x1-x0))tol)
x0=x1;
x1=x0-budong_fun(x0)/df1(x0);
n=n+1;
data(:,n)=x1;
end
x=x1;
budong_fun.m
functionf=budong_fun(x)
f(1)=3*x(1)-cos(x(2)*x(3))-1/2;
f(2)=x(1)^2-81*(x(2)+0.1)^2+sin(x(3))+1.06;
f(3)=exp(-x(1)*x(2))+20*x(3)+10*pi/3-1;
f=[f(1)*f(2)*f(3)];
df1.m
functionf=df1(x)
f=[3sin(x(2)*x(3))*x(3)sin(x(2)*x(3))*x(2)
2*x(1)-162*(x(2)+0.1)cos(x(3))
exp(-x(1)*x(2))*(-x(2))exp(-x(1)*x(2))*(-x(1))20];
结果:
不动点计算结果为
r=
1.0e+012*
NaN
-Inf
5.6541
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年鞍山市千山区公益性岗位招聘考试真题
- 钛酸盐企业数字化转型与智慧升级战略研究报告
- 铅锌企业县域市场拓展与下沉战略研究报告
- 科技引领下的生态农业观光园规划设计
- 20以内乘法除法口算题库1000道可打印
- 科技产品的美学设计与市场竞争力
- 高一学生三角函数学习障碍成因及对策研究
- 20以内乘法除法口算习题集1000道可打印
- 气候变化对商业银行流动性创造的影响研究
- 农户对农村污水治理的支付意愿影响机制研究
- 电网工程设备材料信息参考价(2024年第四季度)
- 三角形的内角和-课件
- 国企工程施工分包管理2019(67P+PPT)
- 成人大专毕业论文怎么写(通用6篇)
- 医院高压氧舱室施工方案
- 质量问题检出奖励申请表模板
- 中职学生日常行为规范主题班会讲稿
- 《大数据分析与应用》教学大纲
- 2022年中国远洋海运集团有限公司招聘考试题库及答案解析
- 供应链管理课件第5章供应链合作伙伴选择与评价
- 4D现场管理培训ppt课件(PPT 45页)
评论
0/150
提交评论