久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

機(jī)械社區(qū)

標(biāo)題: 黃金分割法 [打印本頁(yè)]

作者: zhang457354043    時(shí)間: 2010-12-21 12:12
標(biāo)題: 黃金分割法
一維搜索法程序的編制、調(diào)試和結(jié)果分析(0.618法)
題目:f(a)=2a2+5a 0 |' G2 \" Z6 N" k9 q5 H% w. g
-2≦a≦4
1.實(shí)驗(yàn)?zāi)康?/font>
1、加深對(duì)機(jī)械優(yōu)設(shè)計(jì)方法的基本理和算法步的理解。
2、培養(yǎng)學(xué)獨(dú)制、調(diào)試計(jì)算機(jī)程序的能力。
3、掌握常用優(yōu)化方法程序的使用方法。
4、培養(yǎng)學(xué)運(yùn)優(yōu)設(shè)計(jì)方法解工程實(shí)際問(wèn)題的能力。
2.基本原理簡(jiǎn)述
黃金分割法是通過(guò)不斷縮短搜索區(qū)間的長(zhǎng)度來(lái)尋求一維函數(shù)的極小點(diǎn),這種方法的基本原理是:在搜索區(qū)間[a,b]內(nèi)按如下規(guī)則對(duì)稱地取兩點(diǎn)
=a+0.382(b-a);  V: ?  }2 h$ N  h
=a+0.618(b-a)
;
黃金分割法的搜索過(guò)程是:
1)給出初始搜索區(qū)間 [ab] 5 e8 H. F1 Q  M  h% P7 h8 B
及收斂精度 ε,將λ賦以0.618
2)計(jì)算
4 Z( u9 I' `' i. b0 G' w4 n6 g6 a
,并計(jì)算起對(duì)應(yīng)的函數(shù)值 f( ),f( )
3)根據(jù)期間消去法原理縮短搜索區(qū)間,為了能用原來(lái)的坐標(biāo)點(diǎn)計(jì)算公式,需進(jìn)行區(qū)間名稱的代換,并在保留區(qū)間中計(jì)算一個(gè)新的試驗(yàn)點(diǎn)及其函數(shù)值。
4)檢查區(qū)間是否縮短到足夠小和函數(shù)值收斂到足夠近,如果條件不滿足則返回到步驟2
5)如果條件滿足,則取最后兩試驗(yàn)點(diǎn)的平均值作為極小點(diǎn)的數(shù)值近似解。
黃金分割法的程序框圖如下:
3.自編優(yōu)化方法程序 #include "math.h" #include "stdio.h" #define f(x) 2*x*x+5*x% j; d6 o8 x' L- K
/*
一元函數(shù)f(x)=2x2+5x */
double hj(double *a,double *b,double e,int *n) { double x1,x2,s; if(fabs(*b-*a)<=e) s=f((*b+*a)/2); else {$ B7 j; C& Y/ H0 x  E
x1=*a+0.382*(*b-*a);
x2=*a+0.618*(*b-*a); if(f(x1)>f(x2)) *a=x1; else *b=x2; *n=*n+1; s=hj(a,b,e,n); } return s; } main() { double s,a,b,e; int n=0; scanf("%lf %lf %lf",&a,&b,&e);- s, a9 L4 t. y: P1 {
/*
輸入?yún)^(qū)間[a,b]和精度e的值*/
s=hj(&a,&b,e,&n);' ~) K1 F+ f) F' M9 N
/*
調(diào)用hj函數(shù),其中n代表迭代次數(shù)*/
printf("a=%lf,b=%lf,s=%lf,n=%d\n",a,b,s,n); } 4.考核計(jì)算結(jié)果及其分析。
輸入:-3 8 0.35
結(jié)果輸出:a=-1.395324 b=-1.161278 s=-3.123398 n=8。

作者: 無(wú)能    時(shí)間: 2010-12-21 12:31
樓主“遞歸”用的好啊……




歡迎光臨 機(jī)械社區(qū) (http://www.ytsybjq.com/) Powered by Discuz! X3.5