資源簡介
采用matlab語言編寫,用于求解無約束最優(yōu)化問題
代碼片段和文件信息
%%共軛梯度法
function?f=conjugate_grad_2d(x0t)
%input?this:conjugate_grad_2d([22]0.05)
x=x0;
syms?xi?yi?a
f=xi^2+2*yi^2-4*xi-2*xi*yi;
fx=diff(fxi);
fy=diff(fyi);
fx=subs(fx{xiyi}x0);
fy=subs(fy{xiyi}x0);
fi=[fxfy];
count=0;
while?double(sqrt(fx^2+fy^2))>t
????s=-fi;
????if?count<=0
????????s=-fi;
????else
????????s=s1;
????end
????x=x+a*s;
????f=subs(f{xiyi}x);
????f1=diff(f);
????f1=solve
評論
共有 條評論