資源簡(jiǎn)介
最優(yōu)化方法中的黃金分割法是一個(gè)比較重要的方法,即0.618法!該資源是在matlab中編程實(shí)現(xiàn)了該方法。

代碼片段和文件信息
%?程序:用黃金分割法求解單峰函數(shù)的極小值算法
%?設(shè)計(jì):肖逢
interval_left=0;????????????????%?初始搜索區(qū)間左邊界點(diǎn)
interval_right=5;???????????????%?初始搜索區(qū)間右邊界點(diǎn)
cycle_times=0;??????????????????%?迭代次數(shù)
precision?=?0.001;??????????????%?算法精度參數(shù)
right_interval_flag=0;??????????%?右側(cè)區(qū)間標(biāo)志,1=選右側(cè)區(qū)間,0=選左側(cè)區(qū)間
interval_length?=?interval_right?-?interval_left;???????????????????%?計(jì)算搜索區(qū)間長(zhǎng)度
insert_point_left?=?interval_left?+?0.382*interval_length;??????????%?計(jì)算黃金分割法的左插入點(diǎn)?
insert_point_right?=?interval_left?+?0.618*interval_length;?????????%?計(jì)算黃金分割法的右插入點(diǎn)
%?開始迭代
while?interval_length>precision??
????value_left?=?cos(insert_point_left);????????????????????????????%?計(jì)算左插入點(diǎn)的函數(shù)值
????value_right?=?cos(insert_point_right);??????????????????????????%?計(jì)算右插入點(diǎn)的函數(shù)值????
????if?value_left>value_right
????????right_interval_flag=1;??????????????????????????????????????%?選擇右側(cè)區(qū)間
????????interval_left?=?insert_point_left;??????????????????????????%?壓縮區(qū)間后,更新左邊界點(diǎn)
????????insert_point_left?=?insert_point_right;?????????????????????%?下次迭代運(yùn)算左插入點(diǎn)
????else
????????right_interval_flag=0;??????????????????????????????????????%?選擇左側(cè)區(qū)間
????????interval_right?=?insert_point_right;????????????????????????%?壓縮區(qū)間后,更新右邊界點(diǎn)
????????insert_point_right?=?insert_point_left;?????????????????????%?下次迭代運(yùn)算右插入點(diǎn)
????end????
????interval_length?=?interval_right?-?interval_left;???????????????%?計(jì)算區(qū)間長(zhǎng)度
????cycle_times=cycle_times+1;??????????????????????????????????????%?迭代計(jì)數(shù)
????
????if?right_interval_flag==1
????????insert_point_right?=?interval_left?+?0.618*interval_length;?%?右區(qū)間,則計(jì)算下次迭代運(yùn)算的右插入點(diǎn)
????else
????????insert_point_left?=?interval_left?+?0.382*interval_length;??%?左區(qū)間,則計(jì)算下次迭代運(yùn)算的左插入點(diǎn)
????end
end
x?=?0.5?*?(interval_right?+?interval_left)??????????????????????????%?黃金分割算法搜索到的極小值點(diǎn)
y?=?cos(x)??????????????????????????????????????????????????????????%?極小值點(diǎn)處函數(shù)值
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-12-28?18:12??0.618法(肖逢-122081915)\
?????文件????????2081??2012-11-13?22:16??0.618法(肖逢-122081915)\golden_mean.m
?????文件???????65536??2012-11-13?22:12??0.618法(肖逢-122081915)\黃金分割法在求解單峰函數(shù)的極小值中的應(yīng)用(肖逢).doc
?????文件???????57344??2012-11-13?22:12??0.618法(肖逢-122081915)\黃金分割法在求解單峰函數(shù)的極小值中的應(yīng)用-流程圖.vsd
評(píng)論
共有 條評(píng)論