拟牛顿法
%拟牛顿迭代法 数值分析上机题4.1 第一个方程
clear
clc
x=;%初值
a=ones(100,1);
b=ones(100,1);
c=ones(100,1);
y=;%记载每一步的迭代结果
i=1;
tic
F0=;
dotF0=[12 -2*x(2,1) -4;
2*x(1,1) 10 -1;
0 3*(x(2,1))^2 10];
H=inv(dotF0);
x0=x;
yy=[];
F=F0;
while 1
% F=;
% dotF=[3 sin(x(2,1)*x(3,1)) sin(x(2,1)*x(3,1));
% 2*x(1,1) -162*x(2,1)-2*8.1 cos(x(3,1));
% -x(2,1)*exp(-x(1,1)*x(2,1)) -x(1,1)*exp(-x(1,1)*x(2,1)) 20];
% deltx=-dotF\F;
x=x-H*F
deltx=H*F;
i=i+1;
F=;
yy=F-F0;
F0=F;
s=x-x0;
x0=x;
H=H+(s-H*yy)*(s-H*yy)'/((s-H*yy)'*yy)
y(i,1)=x(1,1);y(i,2)=x(2,1);y(i,3)=x(3,1);%将中间的迭代结果存放到y中
i=i+1;
if ( abs(deltx(1,1)) < 0.5e-5 && abs(deltx(2,1)) < 0.5e-5 && abs(deltx(3,1)) < 0.5e-5)%%如果精确到0.5e-3,停止迭代
break
end
% if i==100
% break
% end
end
toc
i% 迭代次数
x% 解
页:
[1]