版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、熟練利用0.618法,共軛梯度法以及非二次函數(shù)的共軛梯度法求解相關問題。(一) 問題描述0.618法:min f(x)=2x2-x-1,a1,b1=-1,1,精度L0.16共軛梯度法(CG算法): min f(x)=x12-x1x2+x22+2x1-4x2 非二次的共軛梯度法(CG算法推廣):min f(x)=(1-x1)2+2(x2-x12)2 (三) 算法介紹(1)0.618法Step1:對區(qū)間a,b= a1,b1中取兩點:1=a1+0.382(b1-a1),1=a1+0.618(b1-a1)Step2:若bk-ak<,停止運算,輸出結果,否則計算并比較。若(k)(k),則ak+1=
2、ak,bk+1=k,k+1=k,k+1=ak+1+0.382*(bk-ak+1)若(k)(k),則ak+1=k,bk+1=bk,k+1=k,k+1=ak+1+0.618*(bk-ak+1)Step3:置k:=k+1,返回Step2(2)CG算法原理及步驟:n元正定二次函數(shù)f(x)=1/2xTQx+bT+c,給定任一初始點x0,計算d0=-g0,置k:=0step1:tk=gkTgk/dkTQdk,xk+1=xk+tkdkstep2:判斷|gk+1|<,若成立則終止,輸出。否則轉step3step3:計算下一次的搜索方向dk+1=-gk+1+kdk,其中k=gk+1TQdk/dkTQdks
3、tep4:置k:=k+1,轉step1進行下一次迭代。(3)CG算法的推廣:對tk:改用直接的e.l.s,求得步長因子。對k:k=gk+1Tgk+1/gkTgk(四)程序代碼及運行結果:(1)0.618法源程序代碼a=-1;%區(qū)間端點b=1; %區(qū)間端點fprintf('初始區(qū)間為');interval=a,be=0.16;%誤差q=b-a;u1=a+0.382*(b-a);u2=a+0.618*(b-a);n=0;while q>e n=n+1; f1=2*u12-u1-1; f2=2*u22-u2-1; if f1<f2 b=u2; u2=u1; u1=a+0.
4、382*(b-a); fprintf('得到新區(qū)間為'); interval=a,b else a=u1; u1=u2; u2=a+0.618*(b-a); fprintf('得到新區(qū)間為'); interval=a,b end q=b-a;end interval=a,bfprintf('使f=2*x2-x-1去的最小值的x為: ');x=(b+a)/2fprintf('f的最小值為:');f=2*x2-x-1fprintf('共計迭代了n步:');n(2)0.618法 運行結果: 初始區(qū)間為:interval
5、= -1 1得到的新區(qū)間為:得到的新區(qū)間為:interval = -0.2360 0.5278得到的新區(qū)間為:得到的新區(qū)間為:interval = 0.0558 0.3475得到的新區(qū)間為:得到的新區(qū)間為:interval = 0.1672 0.2787使f=2*x2-x-1取得最小值的x為:x = 0.2229f的最小值為:f = -1.1235共計迭代了n步:n = 6(3)CG法源程序代碼function f=Untitled3(x0,e)syms x1 x2f=x12-x1*x2+x22+2*x1-4*x2;a=diff(f,x1);b=diff(f,x2);a=subs(a,x1,x
6、2,x0);b=subs(b,x1,x2,x0);g=a;bQ=2 -1;-1 2;d=-g;x=x0;n=0;while double(sqrt(a2+b2)>0.2 t=(g.'*g)/(d.'*Q*d); x=x+t*d; f=x12-x1*x2+x22+2*x1-4*x2; a=diff(f,x1); b=diff(f,x2); a=subs(a,x1,x2,x); b=subs(b,x1,x2,x); g=a;b; p=(g.'*Q*d)/(d.'*Q*d); d=-g+p*d; n=n+1; endfprintf('最優(yōu)解為:'
7、);xfprintf('共迭代了n步');n(4)CG法 運行結果:在matlab對話框中輸入Untitled3(0;0,0.2) 得到結果:最優(yōu)解為:x = 0 2共迭代了n步:n = 2在matlab對話框中輸入Untitled3(-1;1,0.2) 得到結果:最優(yōu)解為:x = 0 2共迭代了n步:n = 1(5)CG推廣法源程序代碼:function f=num3(x0,e)syms x1 x2 tx=x0;f=(1-x1)2+2*(x2-x12)2;a=diff(f,x1);b=diff(f,x2);a=subs(a,x1,x2,x0);b=subs(b,x1,x2,x
8、0);g=a;b;d=-g; n=0;while double(sqrt(a2+b2)>e x=x+t*d; f=subs(f,x1,x2,x); f1=diff(f); f1=solve(f1); if f1=0 ti=double(f1); else break end x=subs(x,t,ti(1,1); m=g.'*g; f=(1-x1)2+2*(x2-x12)2; a1=diff(f,x1); b1=diff(f,x2); a1=subs(a1,x1,x2,x); b1=subs(b1,x1,x2,x); g1=a1;b1; p=(g1.'*g1)/m; d=
9、-g1+p*d; a-a1; b=b1; n=n+1;endfprintf('最優(yōu)解為:');xfprintf('最小值為:');f=subs(f,x1,x2,x)fprintf('共迭代了n步:');n (6)CG法推廣 運行結果:在matlab對話框中輸入num3(0;0,0.001) 得到結果:最優(yōu)解為: x = 1 1最小值為:f = 0共迭代了n步n = 2(六)結果分析針對0.618法:在本題手工計算時我們采用了借助圖像簡化計算,matlab運算的結果與手工計算結果基本完全吻合,兩種方法的正確性互相得到了驗證。針對CG法:本題我們分別選擇了兩個初始點進行迭代,對這兩個初始點進行比較可以看出使用(-1,1)這個初始點迭代步數(shù)更少,同時使用該點作為初始點進行手工計算時計算量也相對小于(0,0)作為初始點,因此我們要根據(jù)實際情況選擇初始點。針對CG推廣法:是在CG法基礎上進行修改,用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體外診斷試劑行業(yè)相關項目經營管理報告
- 建筑用金件的檢測行業(yè)經營分析報告
- 辦理登機手續(xù)服務行業(yè)市場調研分析報告
- 蘇格蘭式短裙商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 創(chuàng)意寫作行業(yè)經營分析報告
- 電力轉換器項目運營指導方案
- 失禁用墊產品供應鏈分析
- 箬笠商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 信用證發(fā)行行業(yè)經營分析報告
- 被動紅外探測器項目運營指導方案
- 金融學基礎(第二版)課件:信用和金融工具
- 主題一:自然之美 第2課《 重回侏羅紀-尋蹤自貢恐龍博物館》 課件
- 醫(yī)療機構處方審核規(guī)范解讀
- DB32/T 4504-2023 揚州鵝種鵝全季節(jié)繁殖技術規(guī)程
- 2024年餐廳服務員(三級)職業(yè)鑒定考試題庫(濃縮500題)
- 2024年高考體育單招考試政治重點知識點歸納總結(復習必背)
- 中國電力工業(yè)發(fā)展史
- 機械氣道廓清技術臨床應用專家共識(2023版)解讀
- 內蒙古呼和浩特市回民區(qū)2023-2024學年九年級上學期期中考試歷史試題(含答案)
- 2021年4月自考00409美育基礎試題及答案含解析
- 原料粒度對超白玻璃熔化澄清質量的影響
評論
0/150
提交評論