資源簡(jiǎn)介
變尺度法的dfp算法,包括確定搜索區(qū)間和步長(zhǎng),適合二元二次的目標(biāo)函數(shù)
代碼片段和文件信息
syms?x1?x2?t?tt?e;
f?=?4*(x1?-?5).^2+(x2?-?6).^2;
x?=?[x1;x2];
df?=?(jacobian(f[x1;x2]))‘;
xx0?=?[8;9];??????????????????????%定義初值
H0?=?[1?0?;0?1];??????????????????%取Hesse矩陣為單位陣,此時(shí)的步長(zhǎng)為最速下降法的步長(zhǎng)
A=fs2hesse(fx1x2);
e=0.01;
times=0;
g0?=?subs(dffindsym(x)xx0);
t?=?(g0‘*g0)/(g0‘*A*g0);
while?(norm(double(g0))>e)
????if?times==0???????
????????p?=?-H0*g0;??????
????else
????????H1?=?H0+(S0*S0‘)/(S0‘*y0)-(H0*y0*y0‘*H0)/(y0‘*H0*y0);
????????p?=?-H1*g0;
????end
????xx1?=?xx0?+?t.*p;
????xxx1?=?xx0?+?tt.*p;
????Ft?=?subs(ffindsym(x)xxx1);
????[left?right]?=?search_interval(Fttt);???????%一維搜索法--搜索區(qū)間
????t?=?golden_div(Ftttleftright);????????????%黃金分割法--搜索步長(zhǎng)
????g1?=?subs(dffindsym(x)xx1);
????S0?=?xx1-xx0;
????y0?=?g1-g0;?????
????xx0?=?xx1;
????g0?=?g1;
????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????898??2013-04-26?12:19??dfp\dfp.m
?????文件????????274??2013-04-24?16:47??dfp\fs2hesse.m
?????文件????????665??2013-04-25?11:49??dfp\golden_div.m
?????文件????????833??2013-04-25?21:55??dfp\search_interval.m
?????目錄??????????0??2013-04-28?10:51??dfp
-----------?---------??----------?-----??----
?????????????????2670????????????????????5
評(píng)論
共有 條評(píng)論