粒子群算法优化模糊pid知识讲解_第1页
粒子群算法优化模糊pid知识讲解_第2页
粒子群算法优化模糊pid知识讲解_第3页
粒子群算法优化模糊pid知识讲解_第4页
粒子群算法优化模糊pid知识讲解_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文选取常见的二阶惯T生加纯滞后环节,传递函数为:e(TiS 1)(T2S 1)在这里,万1,仏2,0.3 PID参数取为Kp2,心1,Q2本设计中的模糊控制器采用两输入(e, ec),三输出(P,I,D)的形式来调整PID参数。e的论域为-3,3 ,ec的论域为3,3。推理机使用NB,NM,NS,O,PS, PM,PB,表示负大,负中,负小,零,正小,正中,正大为 了可以调节尽可能多的系统,此控制器选定在负边界处和正边界处分别选用平滑连续的Z 型隶属度函数和S型隶属度函数,在中间部分采用灵敏度较强的三角形隶属度函数。规则表如下图所示:KBNSZEPSPHPBPBze/fm/fsZE/PII/

2、PSns/fe/zenm/fb/zeo/fe/zeim/ps/ps0/PS/NBZE/Pfi/1IBZE/PS/NENS/FB/ZE0/FS/NSNB/PS/NMIJlrt/ZE/ZEO/PS/JIBPSPM/ZE/WBPS/ZE/NBZE/ZE/WNM/ZE/NSW/ZE/WUM/NS/ZEW/ZE/NIZEPB/SsASPM/NS/NSPS/NS/NSNS/NS/NS0/WS/NSim/NS/ZEim/ZE/imFB/ZE/UBPE/ZE/HEZE/ZE/NSZE/ZE/NMus/NS/mi師PB/PB/TBPE/PS/NBPffl/PS/NMPS/FS/NSFS/PS/NSZE/FS/O

3、ZE/PS/0FB/PM/PSPE/PB/PSFK/FE/ZEPM/PB/ZEFS/PB/ZEZE/PB/PSZE/PM/F5(1 )主程序:clearclc%参数设置w = 0.6;%惯忤因子c1 =1.414;%加速常数c2 = 1.623;%加速常数Dim = 5;%维数SwarmSize =100;%粒子群规模ObjFun = PSO_PID; %待优化函数句柄精品文档Maxlter = 100;MinFit = 0.01;%最大迭代次数%最小适应值Vmax = 2;Vmin = -2;Ub = 20 50 1 1 1;Lb = 0 0 0 0 0;%粒子群初始化Range = one

4、s(SwarmSize, 1 )*(Ub -Lb);Swarm = ran d(SwarmSize5Dim).*Range + on es(SwarmSize,1 )*Lb;VStep = rand(SwarmSize,Dim)*(Vmax -Vmin) + Vmin; fSwarm = zeros(SwarmSize,1);for i=1:SwarmSize%初始化粒子群%初始化速度fSwarm(i,:) = feval(ObjFun,Swarm(i,:);end%个体极值和群体极值bestf,bestindex=min(fSwarm);zbest=Swarm(bestindex,:); g

5、best=Swarm;fgbest=fSwarm; fzbest=bestf;%迭代寻优iter = 0;y_fitn ess = zeros(1,Maxlter);K_p = zeros(1,Maxlter);%全局最佳%个体最佳%个体最佳适应值%全局最佳适应值%预先产生4个空矩阵K_i = zeros(1,Maxlter);精品文档K_d = zeros(1,Maxlter);e= zeros(1,Maxlter);ec = zeros(1 ,Maxlter);while( (iter MinFit)for j=1:SwarmSize%速度更新VStep(j,:) = w*VStep(j,

6、:) + c1*rand*(gbest(j,:) - Swarm(j,:) + c2*rand*(zbest - Swarm(j,:);if VStep(j,:)Vmax, VStep(j,:)=Vmax; endif VStep(j,:)Ub(k), Swarm(j,k)=Ub(k); endif Swarm(j,k)Lb(k), Swarm(j,k)=Lb(k); endend%适应值fSwarm(j,:) = f e val (Obj Fu n, Swarm (j,;%个体最优更新if fSwarm(j) fgbest(j)gbest(j,:) = Swarm(j,:);fgbest(j

7、) = fSwarm(j);end%群体最优更新if fSwarm(j) fzbestzbest = Swarm(j,:);fzbest = fSwarm(j);endenditer = iter+1; % 迭代次数更新 y_fitness(1 ,iter) = fzbest;% 为绘图做准备K_p(1,iter) = zbest(1);K_i(1,iter) = zbest(2);K_d(1,iter) = zbest(3);e(1,iter) = zbest(4);ec(1,iter) = zbest(5);end%绘图输出figure(1)%绘制性能指标ITAE的变化曲线plot(y_f

8、itness,LineWidth*,2)title(最优个体适应值:fontsize,18);xlabel(* 迭代次数 7fontsize,18);ylabel(* 适应值/fontsize, 18);set(gca,Fontsize,18);figu2)%绘制PID控制器参数变化曲线plot(K_p)hold onplot(K_i;k7LineWidth3)titleCKp、Ki 优化曲线:fontsize: 18);xlabel(* 迭代次数 Vfontsize,18);ylabel(f 参数值/fontsize,18);set(gca,Fontsize,18);精品文档legendfK

9、p7Ki,1);figu3)%绘制PID控制器参数变化曲线plot(e)hold onplot(ec,k,LineWidth,3)title(e、ec 优化曲线 1/fontsize, 18);xlabelC 迭代次数 Tfontsize:18);ylabelC 参数值 Tfontsize,18);set(gca,Fontsize,18);legend(,e,ec,1);figu04)%绘制PID控制器参数变化曲线plot(K_d)hold ontitle(Kd 优化曲线 7fontsize*,18);xlabel(* 迭代次数 fontsize, 18)ylabelf 参数值 *,fonts

10、ize,18);set(gca,Fontsize,18);legend(Kd,1);clearclc(2) simulnik与算法结合程序function z=PSO_PID(x)assigninCbase,Kp,x(1);assigninfbaseVKix (2);精品文档assig nin (base,Kd,x (3);assig nin( base,e,x(4);assig nin (base,ec,x(5);t_time,x_state,y_out=sim(pca,0,20);z=y_out(e nd,1);(3) Simulink 仿真图:实验结果:KP15, Ki20,Kd1,ITAE 8.8446,波形如下图所示。实验结论:本次设计使用的是pid,粒子群算法模糊pid,粒子群算法模糊smith pid相结合,仿真波 形如下图所示。黄色的是pid波形,红色的是粒子群算法模糊pid,蓝色的是粒子群算法模糊smith pid。从图中明显的可以看出加入粒子群算法模糊控制后波形超调量减少节时间缩短;在加入smith后波形有了明显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论