基于Matlab的牛顿迭代法解非线性方程组

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于Matlab实现牛顿迭代法解非线性方程组已知非线性方程组如下221122121210801080xxxxxxx给定初值0(0,0)Tx,要求求解精度达到0.00001首先建立函数F(x),方程组编程如下,将F.m保存到工作路径中:functionf=F(x)f(1)=x(1)^2-10*x(1)+x(2)^2+8;f(2)=x(1)*x(2)^2+x(1)-10*x(2)+8;f=[f(1)f(2)];建立函数DF(x),用于求方程组的Jacobi矩阵,将DF.m保存到工作路径中:functiondf=DF(x)df=[2*x(1)-10,2*x(2);x(2)^2+1,2*x(1)*x(2)-10];编程牛顿迭代法解非线性方程组,将newton.m保存到工作路径中:clear;clcx=[0,0]';f=F(x);df=DF(x);fprintf('%d%.7f%.7f\n',0,x(1),x(2));N=4;fori=1:Ny=df\f';x=x-y;f=F(x);df=DF(x);fprintf('%d%.7f%.7f\n',i,x(1),x(2));ifnorm(y)0.0000001break;elseendend运行结果如下:00.00000000.000000010.80000000.880000020.99178720.991711730.99997520.999968541.00000001.0000000

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功