資源簡介
最優化方法中的黃金分割法是一個比較重要的方法,即0.618法!該資源是在matlab中編程實現了該方法。

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