![c3bdd295f024c1b8ce78a9c8d1979250.png](https://i-blog.csdnimg.cn/blog_migrate/a3607b1fdf204e34ee06d28682d92ff0.jpeg)
function sys=NewtonD()
%{
程序功能:
1、使用牛顿迭代法求解非线性方程组
2、 fx=0;
3、以三元函数为例
%}
clear,clc,close all
num=50;%最大迭代次数
eps=1e-3; %迭代精度
X=zeros(num,3);
X(1,:)=[0.1, 0.1 ,-0.1]; %初始解
flag=0;
for k=1:num-1
syms x1 x2 x3
f=fx( x1, x2 ,x3 );
f=subs(f,{
x1,x2,x3},{
X(k,1),X(k,2) ,X(k,3)});
df=Jacobi(x1, x2 ,x3);
df=subs(df,{
x1,x2,x3},{
X(k,1),X(k,2), X(k,3)});
X(k+1,:)=X(k,: )-( dff' )'; %此处保证df存在逆矩阵
if( abs( X(k+1,1)-X(k,1) )<eps && abs( X(k+1,2)-X(k,2) )<eps && abs( X(k+1,3)-X(k,3) )<eps)
flag=1;