赞
踩
建立shuzhi.m 文件如下:(把非线性方程组保存到shuzhi.m 文件中)
function F=shuzhi(X)
x=X(1);
y=X(2);
F=zeros(1,2);
F(1)=x.^2-2*x-y+0.5;
F(2)=x.^2+4*y.^2-4
end
建立jacobi.m 文件如下:(把非线性方程组的雅可比矩阵保存到jacobi.m 文件中)
function J=jacobi(X)
x=X(1);
y=X(2);
J=[2*x-2 -1;2*x 8*y];
end
建立ma_nl_newton.m 文件如下:
function [p,iter,err]=ma_nl_newton(F,J,p,delta,epsilon,max1) y=feval(F,p); for k=1:max1 j=feval(J,p); q=p-(j\y')'; z=feval(F,q); err=norm(q-p); relerr=err/(norm(q)+eps); p=q; y=z; iter=k; if(err<delta)|(relerr<delta)|(abs(y)<epsilon) break end end end
在命令窗口输入如下:
>> ma_nl_newton('shuzhi','jacobi',[2 0.25],0.001,0.01,100) F = 0.2500 0.2500 F = 0.0088 0.0244 F = 1.0e-04 * 0.3091 0.3754 ans = 1.9007 0.3112
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。