粒子群算法优化模糊pidWord版.docx
《粒子群算法优化模糊pidWord版.docx》由会员分享,可在线阅读,更多相关《粒子群算法优化模糊pidWord版.docx(9页珍藏版)》请在三一文库上搜索。
1、本文选取常见的二阶惯性加纯滞后环节,传递函数为: 在这里, PID参数取为本设计中的模糊控制器采用两输入(e, ec),三输出(P,I,D)的形式来调整PID参数。e的论域为-3,3,ec的论域为-3,3。推理机使用,表示负大,负中,负小,零,正小,正中,正大为了可以调节尽可能多的系统,此控制器选定在负边界处和正边界处分别选用平滑连续的Z型隶属度函数和S型隶属度函数,在中间部分采用灵敏度较强的三角形隶属度函数。规则表如下图所示:(1)主程序:clearclc% 参数设置w = 0.6; % 惯性因子 c1 = 1.414; % 加速常数c2 = 1.623; % 加速常数Dim = 5; %
2、维数SwarmSize = 100; % 粒子群规模ObjFun = PSO_PID; % 待优化函数句柄MaxIter = 100; % 最大迭代次数 MinFit = 0.01; % 最小适应值Vmax = 2;Vmin =-2;Ub = 20 50 1 1 1;Lb = 0 0 0 0 0;% 粒子群初始化 Range = ones(SwarmSize,1)*(Ub-Lb); Swarm = rand(SwarmSize,Dim).*Range + ones(SwarmSize,1)*Lb; % 初始化粒子群 VStep = rand(SwarmSize,Dim)*(Vmax-Vmin)
3、 + Vmin; % 初始化速度 fSwarm = zeros(SwarmSize,1);for i=1:SwarmSize fSwarm(i,:) = feval(ObjFun,Swarm(i,:); % 粒子群的适应值end% 个体极值和群体极值bestf,bestindex=min(fSwarm);zbest=Swarm(bestindex,:); % 全局最佳gbest=Swarm; % 个体最佳fgbest=fSwarm; % 个体最佳适应值fzbest=bestf; % 全局最佳适应值% 迭代寻优iter = 0;y_fitness = zeros(1,MaxIter); % 预先
4、产生4个空矩阵K_p = zeros(1,MaxIter); K_i = zeros(1,MaxIter);K_d = zeros(1,MaxIter);e= zeros(1,MaxIter);ec = zeros(1,MaxIter);while( (iter MinFit) ) for j=1:SwarmSize % 速度更新 VStep(j,:) = w*VStep(j,:) + c1*rand*(gbest(j,:) - Swarm(j,:) + c2*rand*(zbest - Swarm(j,:); if VStep(j,:)Vmax, VStep(j,:)=Vmax; end i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 粒子 算法 优化 模糊 pidWord
链接地址:https://www.31doc.com/p-14392574.html