黃金分割法程序

黃金分割法程序

ID:30872546

大小:256.00 KB

頁數(shù):11頁

時間:2019-01-04

黃金分割法程序_第1頁
黃金分割法程序_第2頁
黃金分割法程序_第3頁
黃金分割法程序_第4頁
黃金分割法程序_第5頁
資源描述:

《黃金分割法程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、一維搜索一維優(yōu)化一般分為兩大步驟:(1)確定初始搜索區(qū)間[a,bj,該區(qū)間應(yīng)是包括一維函數(shù)極小點在內(nèi)的單峰區(qū)間;(2)在搜索區(qū)間[a,b]內(nèi)尋找極小點。搜索區(qū)間的確定一進退法基本思路是:由單峰函數(shù)性質(zhì)可知,在極小點a*左邊函數(shù)值應(yīng)嚴格下降,而在極小點右邊函數(shù)值應(yīng)嚴格上升。因此,可從某一個給定的初始點aO出發(fā),以初始步長hO沿著目標函數(shù)值的下降方向,逐步前進或后退,直到找到相繼的3個試點的函數(shù)值按“大…小…■大”變化為止。-:確定搜索區(qū)間的外推法?首先確定函數(shù)的單谷性?然后從起點開始以初始步長向前試探,如果函數(shù)值變大,則改變步長方向。?如果

2、函數(shù)值下降,則維持原來的試探方向,并將步長加倍。搜索區(qū)間的確定流程圖確定搜索區(qū)間的程序代碼voidfindqujian(floata[3],floatf[3J)floatt=steplength,al,fl,ia;a[0]=0;f[0]=fc(a[0]);for(inti=0;;i++){a[l]制0]+t;f[l]=fc(a[l]);if(f[l]=e){t=-t;a[0]=a[l];f[0]=f[l];}else{if(ia==l)return;t=t/2;ia=l;}}f

3、oT(i=0;;i++){a[2]=a[l]+t;f[2]=fc(a[2]);if(f[2]>f[l])break;t=2*t;a[0]=a[l];f[0]=f[l];a[l]=a[21;f[l]=f[2];if(a[0]>a[2]){al=a[OJ;fl=f[OJ;a[0]=a[2];f[0]=f[2];a⑵=al;f[2]=fl;}return;一、黃金分割法黃金分割法是通過不斷縮短搜索區(qū)間的長度來尋求一維函數(shù)的極小點,這種方法的基本原理是:在搜索區(qū)間[a,b]內(nèi)按如下規(guī)則對稱地取兩點al和a2a1=a+0.382(b-a);a2=a

4、+0?618(b-a);黃金分割法的搜索過程是:1)給出初始搜索區(qū)間[a,b]及收斂精度e,將賦以0.6182)計算al和a2,并計算起對應(yīng)的函數(shù)值f(al),f(a2);,3)根據(jù)期間消去法原理縮短搜索區(qū)間,為了能用原來的坐標點計算公式,需進行區(qū)間名城的代換,并在保留區(qū)間中計算一個新的試驗點及其函數(shù)值。4)檢查區(qū)間是否縮短到足夠小和函數(shù)值收斂到足夠近,如果條件不滿足則返回到步驟2。5)如果條件滿足,則取最后兩試驗點的平均值作為極小點的數(shù)值近似解。黃金分割法的流程圖及程序清單需要說明的是搜索區(qū)間血b]不需要給定,只需輸入搜索精度e;程序由

5、四個子程序構(gòu)成;(1):輸入輸出子程序io();(2):floatfc(floatx)求輸入函數(shù)在某一點的值;(3)voidfindqujian(floata[3],floatf[3])確定搜索區(qū)間;(4):floatxunyou(float*value)尋找最小值^include二iostream.h二^include二math?h=^include二saio.h二^include二conio.h二^definesiepcrngth0.01#definen3floate;floata,b,c;floatq[3];voidio(){cou

6、t?n假設(shè)多項式的最高次幕為2n?endl?endl;cout?n設(shè)多項式的一般形式為f=a*xA2+b*x+c',?endl?endl;cout?n請輸入要求解的目標多項式的系數(shù)H?endl?endl;printf(na=H);scanf(n%f&a);q[2]=a;printf(nb=n);scanf(n%f&b);q[l]=b;printf(nc=H);scanf(n%f!,&c);q[O]=c;cout?endl;cout?"請輸入搜索精度en?endl?endl;scanf(H%f&e);cout?endl;}floatf

7、c(floatx){inti;floatu=q[n-l];for(i=n-2;i>=0;i—)u二u*x+q[i];returnu;}voidfindqujian(floata[3],floatf[3]){floatt=float(steplength),al,fl,ia;a[0]=0;f[0]=fc(a[0]);for(inti=0;;i++){a[l]=a[O]+t;f[l]=fc(a[l]);if(f[l]=e){t=-t;a[0]=a[l];f[0]=f[l];}els

8、e{if(ia==l)return;t=t/2;ia=l;}}for(i=0;;i++){a[2]=a[l]+t;f[2]=fc(a[2]);if(f[2]>f[l])break;t=2*t;

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。