• 大小: 18KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: PSO  PID  优化  

资源简介

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 < bird_setp )
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)
           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


评论

共有 条评论