?? dfp.m
字號(hào):
function opt=DFP()
%
% DFP算法求無約束優(yōu)化問題的最小值
%
global x p k H
x=[2 2]'; %初始迭代點(diǎn)
H=eye(2); %初始矩陣H0=E
eps=1e-32; %控制誤差
g=dfun(x);
k=0; %迭代次數(shù)
while 1
p=-1*H*g;
t_min=fminbnd(@f_search,0,10); %進(jìn)行一維搜索求t的最小值
temp_x=x;
x=x+t_min*p;
temp_g=g;
g=dfun(x);
if norm(g)<eps %是否滿足的要求的精度
opt=x; %求得最優(yōu)值opt
break;
end
s=x-temp_x;
y=g-temp_g;
H=H-(1/(y'*H*y))*(H*y*y'*H)+(1/(y'*s))*(s*s'); %對(duì)H進(jìn)行修正
k=k+1;
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -