資源簡介
PSO算法優化求解PID參數,算法是在基本PSO算法的慣性權重部分加入一個調節因子項,通過調節因子的調節,改善了算法的收斂性。仿真結果表明,IPSO算法可以更好地優化PID控制器的參數,使控制系統具有更好的控制性能。

代碼片段和文件信息
%%?Initialization
clear
clc
n?=?50;???????????%?Size?of?the?swarm?“?no?of?birds?“
bird_setp??=50;???%?Maximum?number?of?“birds?steps“
dim?=?2;??????????%?Dimension?of?the?problem
c2?=1.2;??????????%?PSO?parameter?C1?
c1?=?0.12;????????%?PSO?parameter?C2?
w?=0.9;???????????%?pso?momentum?or?inertia??
fitness=0*ones(nbird_setp);
???????????????????????????????????????%-----------------------------%
???????????????????????????????????????%????initialize?the?parameter?%
???????????????????????????????????????%-----------------------------%
???????????????????????????????????????
R1?=?rand(dim?n);
R2?=?rand(dim?n);
current_fitness?=0*ones(n1);
?????????????????????????????????%------------------------------------------------%
?????????????????????????????????%?Initializing?swarm?and?velocities?and?position?%
?????????????????????????????????%------------------------------------------------%
?????????????????????????????????
current_position?=?10*(rand(dim?n)-.5);
velocity?=?.3*randn(dim?n)?;
local_best_position??=?current_position?;
?????????????????????????????????%-------------------------------------------%
?????????????????????????????????%?????Evaluate?initial?population???????????%???????????
?????????????????????????????????%-------------------------------------------%
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?UPDATE??%
???????????????????????????????????????????????%-------------------%
velocity?=?w?*velocity?+?c1*(R1.*(local_best_position-current_position))?+?c2*(R2.*(globl_best_position-current_position));
???????????????????????????????????????????????%------------------%
???????????????????????????????????????????????%???SWARMUPDATE????%
???????????????????????????????????????????????%------------------%
???????????????????????????????????????????????
????????????
current_position?=?current_position?+?velocity?;
???????????????????????????????????????????????%------------------------%
???????????????????????????????????????????????%??evaluate?anew?swarm???%
???????????????????????????????????????????????%------------------------%
???????????????????????????????????????????????
%%?Main?Loop
iter?=?0?;????????%?Iterations抍ounter
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);
??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????14694??2008-06-11?20:03??PSO算法優化求解PID參數?(2)\tunning?PID?by?PSO\html\PSO.html
????..A.SH.??????9728??2008-06-11?20:36??PSO算法優化求解PID參數?(2)\tunning?PID?by?PSO\html\Thumbs.db
?????文件??????29696??2008-01-18?21:25??PSO算法優化求解PID參數?(2)\tunning?PID?by?PSO\optsim1.mdl
?????文件???????3718??2011-06-22?16:45??PSO算法優化求解PID參數?(2)\tunning?PID?by?PSO\PSO.m
?????文件????????723??2008-06-11?19:38??PSO算法優化求解PID參數?(2)\tunning?PID?by?PSO\tracklsq.m
?????目錄??????????0??2011-06-28?11:17??PSO算法優化求解PID參數?(2)\tunning?PID?by?PSO\html
?????目錄??????????0??2011-06-28?11:18??PSO算法優化求解PID參數?(2)\tunning?PID?by?PSO
?????目錄??????????0??2017-03-23?09:10??PSO算法優化求解PID參數?(2)
-----------?---------??----------?-----??----
????????????????58559????????????????????8
- 上一篇:力控開發用 注冊機
- 下一篇:jsencrypt.min.js
評論
共有 條評論