📄 变尺度.txt
字号:
syms x1 x2 gk gk2 Gk sk sk2 ak xk xk1 xk2 n i amin zhi
f=x1^2+x2^2+x1*x2; %%原函数
g=jacobian(f); %%梯度
x1=3;x2=-1;
xk=[3,-1]';
n=2;
i=0;
gk=subs(g);
gk=gk';
xk2=xk;
Hk=[1,0;0,1];
sk=(-Hk)*gk;
while(n>0.001)
i=i+1
gk2=gk;
temp=xk;
%%%%%%%%%%%%%%%%%%%%%%%%%%线性搜索步长因子
xk2=xk2+ak*sk;
x1=xk2(1);x2=xk2(2);
fk=subs(f);
fk=inline(fk);
[amin]=fminsearch(fk,0);
%%%%%%%%%%%%%%%%%%%%%%%%%求出X(k+1)
xk=xk+amin*sk;
xk2=xk;
x1=xk(1);x2=xk(2);
gk=subs(g);
gk=gk';
%%求下降方向
dk=xk-temp;
rk=gk-gk2;
Hk=Hk+(1+(rk'*Hk*rk)/(dk'*rk))*((dk*dk')/(dk'*rk))-(dk*rk'*Hk+Hk*rk*dk')/(dk'*rk);
sk=-Hk*gk;
%%Input out the MinPoin and the Norm
n=norm(gk,2);
Xk=xk
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -