?? 變尺度最終版.m
字號:
syms x1 x2;
f=x1^2+2*x2^2-4*x1-2*x1*x2;
X0=[1;1]
H0=eye(2)
Df=[diff(f,x1);diff(f,x2)]
g0=subs(Df,[x1 x2],[X0(1) X0(2)])
while sqrt(g0(1)^2+g0(2)^2)>precise
S0=-H0*g0
syms k
X1=X0+k*S0
k=solve(diff(subs(f,[x1 x2],[X1(1) X1(2)]),k))
X1=subs(X1)
g1=subs(Df,[x1 x2],[X1(1) X1(2)])
H1=H0+(X1-X0)*(X1-X0)'/((X1-X0)'*(g1-g0))-(H0*(g1-g0))*(H0*(g1-g0))'/((g1-g0)'*H0*(g1-g0))
g0=g1
X0=X1
H0=H1
counter=counter+1
end
X0
subs(f,[x1 x2],[X0(1),X0(2)])
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -