資源簡介
運用matlab編寫的最優化理論基礎課程中DFP法
代碼片段和文件信息
%function?[out1out2]=DFP(jxx11x21)
???????syms?x1?x2?a?x;
????????jx=log(x1)-x2-1/100*log(x1-1)+100*(x1^2+x2^2-4)^2;
????????g=[diff(jxx1);diff(jxx2)];
????????x11=2;
???????x21=0;
????????flag=1;
????????while?flag
????????????I=[10;01]
????????????g1=subs(g[x1x2][x11x21])
????????????k=1;
????????????h1=I;
????????????while?1
????????????????d1=-h1*g1
????????????????%******此處用一維搜索確定a????????subs(hxax)???a=fminsearch(char(subs(hxax))0)
????????????????hx=subs(jx[x1x2][x11+a*d1(11)x21+a*d1(21)])
????????????????a=fminsearch(char(subs(hxax))0)
????????????????x12=x11+a*d1(11)
????????????????x22=x21+a*d1(21)
????????????????syms?a;
???????????????if??norm(subs(jx[x1x2][x12x22]))<=0.01
???????????????????flag=0;
???????????????????break;
- 上一篇:大氣污染物擴散模型核心算法
- 下一篇:CAPON參數估計
評論
共有 條評論