資源簡介
Powell法最優化設計matlab程序,包含三個子程序,黃金分割法,Powell法,和一維搜索
代碼片段和文件信息
function?output=Divide(fxmn)
if?nargin<4n=1e-6;end
if?nargin<3m=0;end
step=n;
t0=m;ft0=subs(f{x}{t0});
t1=t0+step;ft1=subs(f{x}{t1});
if?ft0>=ft1
????t2=t1+step;ft2=subs(f{x}{t2});
????while?ft1>ft2
????????t0=t1;
????????%ft0=ft1;
????????t1=t2;ft1=ft2;
????????step=2*step;t2=t1+step;ft2=subs(f{x}{t2});
????end
else?
????step=-step;
????t=t0;t0=t1;t1=t;ft=ft0;
????%ft0=ft1;
????ft1=ft;
????t2=t1+step;ft2=subs(f{x}{t2});
????while?ft1>ft2
????????t0=t1;
????????%ft0=ft1;
????????t1=t2;ft1=ft2;
????????step=2*step;t2=t1+step;ft2=subs(f{x}{t2});
????end
end
output=[t0t2];
- 上一篇:CDMA MATLAB仿真
- 下一篇:生成布朗橋的MATLAB代碼
評論
共有 條評論