資源描述:
《matlab黃金分割法求解.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第4次作業(yè)用matlab求解f(t)=(t^2-1)^2+(t-1)^2+3[-10,10]最小植(黃金分割法)。x為最優(yōu)的t值,minf為最優(yōu)的函數(shù)值,f為函數(shù),t為函數(shù)f的變量,a,b為下單峰區(qū)間[a,b],eps為精確度,M函數(shù)文件:function[x,minf]=minHJ(f,a,b,eps)formatlong;ifnargin==3eps=1.0e-6;Endl=a+0.382*(b-a);u=a+0.618*(b-a);a=-10k=1;tol=b-a;whiletol>eps&&k<100000fl=subs(f,f
2、indsym(f),l);%subs是置換函數(shù)iffl>fua=l;l=u;u=a+0.618*(b-a);elseb=u;u=l;l=a+0.382*(b-a);endk=k+1;tol=abs(b-a);endifk==100000disp('找不到最小值!');x=NaN;minf=NaN;return;endx=(a+b)/2;minf=subs(f,findsym(f),x);formatshort;窗口M文件調(diào)用:>>symst>>f=(t.^2-1).^2+(t-1).^2+3f=(t^2-1)^2+(t-1)^2+3>>
3、[x,minf]=minHJ(f,-10,10,0.000001)a=-10x=1.0000minf=3.0000