法的matlab實現_第1頁
法的matlab實現_第2頁
法的matlab實現_第3頁
法的matlab實現_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實 驗 報 告實驗題目: 0.618法的MATLAB實現 學生姓名: 學 號: 實驗時間: 2013-5-13 1 實驗名稱: 0.618法求解單峰函數極小點 2 實驗目的及要求: 1. 了解并熟悉0.618法的方法原理, 以及它的MATLAB實現. 2. 運用0.618法解單峰函數的極小點.3 實驗內容:1. 0.618法方法原理:定理: 設是區間上的單峰函數, , 且. 如果, 則對每一個, 有; 如果,則對每一個, 有.根據上述定理, 只需選擇兩個試探點, 就可將包含極小點的區間縮短. 事實上, 必有如果, 則;如果, 則.0.618 法的基本思想是, 根據上述定理, 通過取試探點使包含

2、極小點的區間(不確定區間)不斷縮短, 當區間長度小到一定程度時, 區間上各點的函數值均接近極小值, 因此任意一點都可作為極小點的近似.0.618 法計算試探點的公式:2. 0.618法的算法步驟: 置初始區間及精度要求, 計算試探點和, 計算函數值和. 計算公式是令. 若, 則停止計算. 否則, 當時, 轉步驟; 當時, 轉步驟. 置, , , 計算函數值, 轉步驟. 置, , , 計算函數值, 轉步驟. 置, 返回步驟.4 實驗流程圖及其MATLAB實現:1. 流程圖:開始置初始區間及精度要求計算試探點和計算函數值和YNYN置, , 計算函數值置, , 計算函數值置2. 代碼及數值算例:(1

3、) 程序源代碼:function x,k=GSe(f,a,b,delta)% 0.618法求解單峰函數極小點f=inline(f);N=10000;for k=1:N m=a+0.382*(b-a); n=a+0.618*(b-a); if f(m)>f(n) a=m; m=n; else b=n; n=m; end if abs(b-a)<delta x=0.5*(b+a);break; endend (2) 數值算例:,初始區間, 精度.(i) 鍵入命令:>> x,k=GSe('2*x2-x-1',-1,1,0.16)(ii) 運行結果:x = 0.2229k = 65 總結: 0.618法(黃金分割法)適用于單峰函數, 故應先確定目標函數的單峰區間, 方可進行迭代計算. 但單峰區間不是很明顯就能確定, 故可用進退法尋找

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論