法和最速下降法的C語(yǔ)言程序_第1頁(yè)
法和最速下降法的C語(yǔ)言程序_第2頁(yè)
法和最速下降法的C語(yǔ)言程序_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上0618法的c語(yǔ)言程序#include #include float m=0.618; float fun(float t) 定義目標(biāo)函數(shù)float y; y=3*t*t-21.6*t-1; return y;main() float a=0,b=10,e; 定義域從a=0開始,到b=10;精度為e; float t1,t2,t,f1,f2,min; 定義變量:按照算法要求定義變量t1為t2,并且目標(biāo) printf(njingdu is e:t); 在t1,t2點(diǎn)處的函數(shù)值為f1,f2。 scanf(%f,&e); while(b-ae) 每次都判斷b-a與e的關(guān)系,

2、如果b-ae,進(jìn)行以下循環(huán) t1=a+(1-m)*(b-a); t2=a+m*(b-a); f1=fun(t1); f2=fun(t2); if(f1f2) 每次迭代后生成新的f1,f2判斷他們的大小,如果f1f2 a=t1; 進(jìn)行以下計(jì)算,得到新的、更小的定義區(qū)間。 t1=t2; f1=f2; t2=a+m*(b-a); f2=fun(t2); else 如果f1e,將(a+b)/2賦給t,即為 min=fun(t); 所求的最小點(diǎn)的因變量。并求出在這點(diǎn)的函數(shù)值min printf(t=%f.,t); 將t和min輸出。 printf(The minimum is %f.,min);最速下降

3、法的C語(yǔ)言程序#include (stdio.h)#include (math.h)float fun1(float x1,float x2) 定義函數(shù)fun1為目標(biāo)函數(shù)對(duì)x1求偏導(dǎo)float a; a=6*x1+2*x2+2; return a;float fun2(float x1,flaot x2) 定義函數(shù)fun2為目標(biāo)函數(shù)對(duì)x2求偏導(dǎo)float b; b=2*x1+2*x2-2; return b;float fun3(float x1,flaot x2) 定義函數(shù)fun3為目標(biāo)函數(shù)flaot y; y=3*x1*x1+2*x1*x2+x2*x2+2*x1-2*x2+1; retur

4、n y;main() flaot t, e=0.01, x1=0, x2=1, a, b, y, m; 定義起始點(diǎn)為x1=0,x2=1,并定義精度為e=0.01 a=fun1(x1,x2); 把fun1的值賦給a b=fun2(x1,x2); 把fun2的值賦給b m=sqrt(a*a+b*b); 對(duì)a*a+b*b求開方,將值賦給m while(me) 判斷,當(dāng)me時(shí)進(jìn)行以下循環(huán) t=(a*a+b*b)/(8*a*a+2*b*b+4*a*b); 根據(jù)梯度法(最速下降法),利用梯度和海賽矩陣 x1=x1-a*t; 求步長(zhǎng)t。 根據(jù)步長(zhǎng)和梯度方向求出新的x1,x2 x2=x2-b*t; a=fun1(x1,x2); 根據(jù)得到的x1,x2求出新的fun1,fun2,并將值 b=fun2(x1,x2); 賦給a,b m=sqrt(a*a+b*b); 計(jì)算新的m y=fun3(x1,x2);

溫馨提示

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

評(píng)論

0/150

提交評(píng)論