粒子群算法优化模糊pid
本文选取常见的二阶惯性加纯滞后环节,传递函数为:e -G(Ts + l)(Ts +1)12在这里,T = 1,,T = 2,t = 0.3 PID 参数取为 K 二 2,K 二 1, K 二 21 2
本文选取常见的二阶惯性加纯滞后环节,传递函数为: e-G TsTs ++ (l)(1) 12 TT KKK t ===二二二 2, 1,,0.32,1,2 在这里,PID参数取为 12pdi 本设计中的模糊控制器采用两输入(e,ec),三输出(P,I,D)的形式来调整 PID参数。e的论域为[-3,3],ec的论域为[-3,3]。推理机使用 } NMNSPB {,,,,,, NBOPSPM ,表示{负大,负中,负小,零,正小,正中,正大 为了可以调节尽可能多的系统,此控制器选定在负边界处和正边界处分别选用平 滑连续的Z型隶属度函数和S型隶属度函数,在中间部分采用灵敏度较强的三 角形隶属度函数。规则表如下图所示: PS PM FB NB NM NS ZE M/PS/PS m/PS/NB FB ZE/PM/PS NS/PE/ZE W/PB/ZE o/fb/ze ze/pk/p NB/FS/W W/EE/ZE m/PS/NB ZE/FB/MB ZE/PS/JIE NS/FE/ZE W/FS/NS PK s H/ZE/W M/NS/ZE m/ZE/n PS PM/ZE/NB PS/ZE/NB ZE/ZE/W W/ZE/NS O/NS/NS W/NS/ZE m/zE/o FB/NS/NS PM/NS/N PS/NS/NS NS/NS/NS ZE 5 ZE/ZEM US/NS/H NS/NS/H NS PB/ZE/NB PB/ZE/NB PM/ZE/W ZE/ZE/NS PS/FS/NS ZE/PS/O ZE/PS/O FB/PB/NB PB/PS/ME PM/FS/W PS/FS/NS PS/FB/ZE ZE/PB/PS ZE/PM/FS NE PB/PM/PS PB/PB/PS PM/FE/ZE PM/FE/ZE 1 ()主程序: clear clc %% 参数设置 惯性因子 w=0.6; % % 加速常数 c1=1.414; % 加速常数 c2=1.623; % 维数 Dim=5; % 粒子群规模 SwarmSize= 100; ObjFun=@PSO_PID;% 待优化函数句柄 MaxIter=100;% 最大迭代次数 MinFit=0.01;% 最小适应值 Vmax=2; Vmin=-2; Ub=[2050111]; Lb=[00000]; %% 粒子群初始化 Range=ones(SwarmSize,1)*(Ub-Lb); Swarm=rand(SwarmSize,Dim).*Range+ones(SwarmSize,1)*Lb;% 初始化粒子群 VStep=rand(SwarmSize,Dim)*(Vmax-Vmin)+Vmin;% 初始化速度 fSwarm=zeros(SwarmSize,1);

