資源簡介
粒子群算法的 matlab仿真 源碼,simulate仿真,附示波仿真圖。僅供參考請勿作商業用途

代碼片段和文件信息
clear
clc
n?=?50;???????????%?粒子群規模
bird_setp??=50;???%?最大迭代次數
dim?=?3;??????????%?維數
c2?=2;????????%?加速常數1
c1?=2;????????%?加速常數2?
w?=0.9;???????????%?慣性權重?
fitness=0*ones(nbird_setp);????????????????????????????????
???????????????????????????????????????%??初始化粒子群
R1?=?rand(dim?n);
R2?=?rand(dim?n);
current_fitness?=0*ones(n1);
?????????????????????????????????%?初始化群體位置和速度
current_position?=?10*(rand(dim?n)-.5);
velocity?=?.3*randn(dim?n)?;
local_best_position??=?current_position?;
?????????????????????????????????%?個體評估??????
for?i?=?1:n
????current_fitness(i)?=?tracklsq(current_position(:i));????
end
local_best_fitness??=?current_fitness?;
[global_best_fitnessg]?=?min(local_best_fitness)?;
for?i=1:n
????globl_best_position(:i)?=?local_best_position(:g)?;
end
???????????????????????????????????????????????%??速度更新
velocity?=?w?*velocity?+?c1*(R1.*(local_best_position-current_position))?+?c2*(R2.*(globl_best_position-current_position));
???????????????????????????????????????????????%??群體更新
current_position?=?current_position?+?velocity?;
???????????????????????????????????????????????%??群體跟新評估???
%%?主體循環,迭代尋優
iter?=?0?;??
while??(?iter?iter?=?iter?+?1;
for?i?=?1:n
current_fitness(i)?=?tracklsq(current_position(:i))?;????
end
for?i?=?1?:?n
????????if?current_fitness(i)????????????local_best_fitness(i)??=?current_fitness(i);??
???????????local_best_position(:i)?=?current_position(:i)???;
????????end???
?end
??
?[current_global_best_fitnessg]?=?min(local_best_fitness);
??
????
if?current_global_best_fitness????global_best_fitness?=?current_global_best_fitness;
???
????for?i=1:n
????????globl_best_position(:i)?=?local_best_position(:g);
????end
???
end
?velocity?=?w?*velocity?+?c1*(R1.*(local_best_position-current_position))?+?c2*(R2.*(globl_best_position-current_position));
?current_position?=?current_position?+?velocity;?
??
?sprintf(‘The?value?of?interation?iter?%3.0f?‘?iter?);
end
%?結束
??????????????????????
????????????xx=fitness(:50);
????????????[YI]?=?min(xx);
????????????current_position(:I)
???????????????
????
%??????????
?????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????14694??2008-06-11?20:03??粒子群算法優化pid源碼?matlab仿真\html\PSO.html
?????文件???????2679??2008-06-11?20:03??粒子群算法優化pid源碼?matlab仿真\html\PSO.png
?????文件???????4307??2008-06-11?19:59??粒子群算法優化pid源碼?matlab仿真\html\PSO_01.png
?????文件???????4671??2008-06-11?20:03??粒子群算法優化pid源碼?matlab仿真\html\PSO_02.png
?????文件??????35168??2015-05-17?19:58??粒子群算法優化pid源碼?matlab仿真\optsim1.mdl
?????文件??????29696??2008-01-18?21:25??粒子群算法優化pid源碼?matlab仿真\optsim1.mdl.r2006a
?????文件???????2329??2015-05-17?21:15??粒子群算法優化pid源碼?matlab仿真\PSO.m
?????文件????????590??2015-05-17?21:36??粒子群算法優化pid源碼?matlab仿真\tracklsq.m
?????目錄??????????0??2015-05-17?20:00??粒子群算法優化pid源碼?matlab仿真\html
?????目錄??????????0??2015-05-17?21:37??粒子群算法優化pid源碼?matlab仿真
-----------?---------??----------?-----??----
????????????????94134????????????????????10
- 上一篇:ChinaMap.rar
- 下一篇:蜂窩小區仿真
評論
共有 條評論