您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于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
本文标题:基于Matlab的牛顿迭代法解非线性方程组
链接地址:https://www.777doc.com/doc-5912134 .html