粒子群算法优化模糊pid(谷风软件)

合集下载

基于改进粒子群优化算法的分数阶PID控制器

基于改进粒子群优化算法的分数阶PID控制器

DCWTechnology Analysis技术分析75数字通信世界2024.03随着近年来科技的不断进步,工业和医疗对科技的要求也越来越高。

在20世纪90年代Pod lubny 提出,将传统PID 控制器引入微分阶次μ和积分阶次λ,增加了FOPID 控制器的控制范围[1-2],控制精度大大提高,在被控对象的控制过程中也可以更加灵活地操作。

相比于传统PID 控制器,FOPID 控制器增加了两个参数,在参数整定方面,FOPID 控制器变得更加复杂。

传统控制中采用整数阶PID 控制器是因为缺少求解分数阶微分方程的数学工具,FOPID 控制器虽然可以解决许多复杂难题,但是参数整定的问题如果不能得到有效解决依然不能得到广泛推广,于是参数整定的问题成为分数阶PID 控制的研究热点。

相比于常见的频域幅值裕量法和主导极点法,采用优化方法可以缩减很多工作量。

优化方法最重要的一环就是获得优化参数,在控制系统的控制过程中正是借用这些参数提升系统性能的,利用粒子群(Particle SwarmOptimization ,PSO )优化算法是当下获取参数运用比较广泛的新型算法。

1 分数阶微积分及分数阶PID控制器1.1 分数阶微积分整数阶微积分通过延伸的方式推出分数阶微积分,只要不是整数阶次的微积分就可以被定义成分数阶微积分。

若想实现多种阶次的微积分也需要依靠分数阶微积分,分数阶微积分的算子能在整数阶微积分算子的基础上拓展得到,表达式如下:(1)式中,为分数阶微积分算子;下限中积分或微分用a 表示;上限中积分或微分用t 表示;阶次用表示。

下面四个公式是分数阶微积分中使用最多的定义。

基于改进粒子群优化算法的分数阶PID控制器李小松,孙志敏(太原科技大学电子信息工程学院,山西 太原 030024)摘要:针对控制系统控制性能不稳定的问题,实践中可在控制系统里设定一种分数阶PID控制器。

相比于整数阶PID控制器,分数阶PID控制器增加了λ和μ两个控制参数,这样可以让控制器在控制过程中拥有更好的性能,但同时也使得参数整定使用更加困难。

模糊pid算法基本原理

模糊pid算法基本原理

模糊pid算法基本原理
模糊PID算法是PID控制算法的一种变种,其基本原理是在
传统PID控制算法的基础上引入了模糊逻辑,以解决传统PID 控制算法在非线性、时变、模型不准确等实际控制问题中的局限性。

模糊PID算法的基本原理可以概括为以下几个步骤:
1. 模糊化:将PID控制中的误差、偏差和变化率等输入量进
行模糊化处理,将连续的实数转化为模糊的语言变量。

通常使用三角形或者梯形的隶属函数进行模糊化。

2. 规则库:建立模糊控制器的规则库,提供一系列的模糊规则,规定了输入变量和输出变量之间的关系。

这些规则基于经验知识和专家判断,模糊规则可以通过专家经验、实验结果、系统模型等方式得到。

3. 模糊推理:根据输入变量通过模糊规则进行推理,得到输出变量的模糊结果。

模糊推理通常使用模糊逻辑与运算和或运算等操作,根据规则库中的模糊规则进行匹配和推理。

4. 解模糊化:将输出变量的模糊结果转化为具体的控制量。

解模糊化是将模糊结果映射到实际的控制量,通常使用模糊加权平均法、模糊加权最大法等常见的解模糊化方法。

5. 输出控制量:将解模糊化后得到的控制量应用于被控对象,通过控制对象的反馈信号进行闭环控制。

通过引入模糊逻辑,模糊PID算法能够有效地应对非线性、时变、模型不准确等问题,提供了更强的适应性和鲁棒性。

但同时,模糊PID算法也增加了计算量和参数调整的难度,需要合适的模糊规则库和解模糊化方法,以及合理的参数选择和调节策略。

基于改进粒子群算法的移相全桥模糊PID控制

基于改进粒子群算法的移相全桥模糊PID控制

基于改进粒子群算法的移相全桥模糊PID控制赵凯;曾涛【期刊名称】《厦门大学学报(自然科学版)》【年(卷),期】2024(63)2【摘要】[目的]为了得到具有良好性能指标的移相全桥(PSFB)控制方案,本文提出了基于改进粒子群算法(IPSO)寻优的模糊比例积分微分(PID)控制方法.[方法]在PSFB的小信号模型基础上,使用模糊控制器改善PID的参数,随后应用自适应惯性权重和压缩因子法优化PSO的全局特性和收敛性,进而计算模糊控制器的比例因子和量化因子,以提高系统的控制效果.在Simulink仿真环境中分别使用常规PID、模糊PID、IPSO优化模糊PID三种方式对移相全桥拓扑进行仿真,并设计了一台100 W的样机,验证所提控制策略的有效性.[结果]仿真结果中,IPSO优化的模糊PID控制相对于常规PID和模糊PID,其调节时间、超调量、稳态误差分别下降79.6%、99.4%、42.9%和40.2%、20%、87.5%;基于TMS320F28034硬件的实验结果中,IPSO优化的模糊比例积分(PI)控制相对于增量式PI和模糊PI,其调节时间、超调量、稳态误差、电压输出纹波分别下降52.4%、56.4%、46.7%、75.0%和12.1%、37.4%、20%、66.7%.[结论]将IPSO应用于PSFB的PID控制,相对于常规PID和模糊PID,具有更高的控制精度、更快的收敛速度、更强的抗干扰能力.【总页数】12页(P259-270)【作者】赵凯;曾涛【作者单位】厦门大学航空航天学院【正文语种】中文【中图分类】TM46【相关文献】1.移相全桥动态模型及自适应模糊PID控制器设计2.模糊自适应PID控制的移相全桥变换器设计与仿真3.模糊PID复合控制的移相全桥ZVS PWM变换器设计研究4.遗传算法优化的移相全桥变换器模糊PID控制因版权原因,仅展示原文概要,查看原文内容请购买。

粒子群算法优化pid参数主程序

粒子群算法优化pid参数主程序

粒子群算法优化pid参数主程序%% 该文件演示基于TSP-PSO算法clc;clear%% 下载数据data=load('eil51.txt');cityCoor=[data(:,2) data(:,3)];%城市坐标矩阵figureplot(cityCoor(:,1),cityCoor(:,2),'ms','LineWidth',2,'MarkerEdg eColor','k','MarkerFaceColor','g')legend('城市位置')ylim([4 78])title('城市分布图','fontsize',12)xlabel('km','fontsize',12)ylabel('km','fontsize',12)%ylim([min(cityCoor(:,2))-1 max(cityCoor(:,2))+1])grid on%% 计算城市间距离n=size(cityCoor,1); %城市数目cityDist=zeros(n,n); %城市距离矩阵for i=1:nfor j=1:nif i~=jcityDist(i,j)=((cityCoor(i,1)-cityCoor(j,1))^2+...(cityCoor(i,2)-cityCoor(j,2))^2)^0.5;endcityDist(j,i)=cityDist(i,j);endendnMax=200; %进化次数indiNumber=1000; %个体数目individual=zeros(indiNumber,n);%^初始化粒子位置for i=1:indiNumberindividual(i,:)=randperm(n);end%% 计算种群适应度indiFit=fitness(individual,cityCoor,cityDist); [value,index]=min(indiFit);tourPbest=individual; %当前个体最优tourGbest=individual(index,:) ; %当前全局最优recordPbest=inf*ones(1,indiNumber); %个体最优记录recordGbest=indiFit(index); %群体最优记录xnew1=individual;%% 循环寻找最优路径L_best=zeros(1,nMax);for N=1:nMaxN%计算适应度值indiFit=fitness(individual,cityCoor,cityDist);%更新当前最优和历史最优for i=1:indiNumberif indiFit(i)<recordpbest(i)recordPbest(i)=indiFit(i); tourPbest(i,:)=individual(i,:);endif indiFit(i)<recordgbest recordGbest=indiFit(i);tourGbest=individual(i,:);endend[value,index]=min(recordPbest); recordGbest(N)=recordPbest(index);%% 交叉操作for i=1:indiNumber% 与个体最优进行交叉c1=unidrnd(n-1); %产生交叉位c2=unidrnd(n-1); %产生交叉位while c1==c2c1=round(rand*(n-2))+1;c2=round(rand*(n-2))+1;endchb1=min(c1,c2);chb2=max(c1,c2);cros=tourPbest(i,chb1:chb2); ncros=size(cros,2);%删除与交叉区域相同元素for j=1:ncrosfor k=1:nif xnew1(i,k)==cros(j)xnew1(i,k)=0;for t=1:n-ktemp=xnew1(i,k+t-1);xnew1(i,k+t-1)=xnew1(i,k+t);xnew1(i,k+t)=temp;endendendend%插入交叉区域xnew1(i,n-ncros+1:n)=cros;%新路径长度变短则接受dist=0;for j=1:n-1dist=dist+cit</recordgbest</recordpbest(i)yDist(xnew1(i,j),xnew1(i,j+1));enddist=dist+cityDist(xnew1(i,1),xnew1(i,n)); if indiFit(i)>distindividual(i,:)=xnew1(i,:);end% 与全体最优进行交叉c1=round(rand*(n-2))+1; %产生交叉位c2=round(rand*(n-2))+1; %产生交叉位while c1==c2c1=round(rand*(n-2))+1;c2=round(rand*(n-2))+1;endchb1=min(c1,c2);chb2=max(c1,c2);cros=tourGbest(chb1:chb2);ncros=size(cros,2);%删除与交叉区域相同元素for j=1:ncrosfor k=1:nif xnew1(i,k)==cros(j)xnew1(i,k)=0;for t=1:n-ktemp=xnew1(i,k+t-1);xnew1(i,k+t-1)=xnew1(i,k+t);xnew1(i,k+t)=temp;endendendend%插入交叉区域xnew1(i,n-ncros+1:n)=cros;%新路径长度变短则接受dist=0;for j=1:n-1dist=dist+cityDist(xnew1(i,j),xnew1(i,j+1)); enddist=dist+cityDist(xnew1(i,1),xnew1(i,n)); if indiFit(i)>distindividual(i,:)=xnew1(i,:);end%% 变异操作c1=round(rand*(n-1))+1; %产生变异位c2=round(rand*(n-1))+1; %产生变异位while c1==c2c1=round(rand*(n-2))+1;c2=round(rand*(n-2))+1;endtemp=xnew1(i,c1);xnew1(i,c1)=xnew1(i,c2);xnew1(i,c2)=temp;%新路径长度变短则接受dist=0;for j=1:n-1dist=dist+cityDist(xnew1(i,j),xnew1(i,j+1)); enddist=dist+cityDist(xnew1(i,1),xnew1(i,n)); if indiFit(i)>distindividual(i,:)=xnew1(i,:);endend[value,index]=min(indiFit);L_best(N)=indiFit(index);tourGbest=individual(index,:);end%% 结果作图figureplot(L_best)title('算法训练过程')xlabel('迭代次数')ylabel('适应度值')grid onfigurehold onplot([cityCoor(tourGbest(1),1),cityCoor(tourGbest(n),1)],[city Coor(tourGbest(1),2),...cityCoor(tourGbest(n),2)],'ms-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g') hold onfor i=2:nplot([cityCoor(tourGbest(i-1),1),cityCoor(tourGbest(i),1)],[cityCoor(tourGbest(i-1),2),...cityCoor(tourGbest(i),2)],'ms-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g') hold onendlegend('规划路径')scatter(cityCoor(:,1),cityCoor(:,2));title('规划路径','fontsize',10)xlabel('km','fontsize',10)ylabel('km','fontsize',10)grid onylim([4 80])。

粒子群算法自寻优模糊PID控制器设计

粒子群算法自寻优模糊PID控制器设计

粒子群算法自寻优模糊PID控制器设计杨洋;张秋菊【摘要】针对常规模糊PID控制器的控制规则和控制参数固定不变而降低了系统自适应能力的问题,提出了一种基于粒子群算法寻优的方法对模糊控制器进行寻优.通过改变模糊控制器的3个尺度系数(Ke、Kec、Ku),可以改变不同阶段系统的误差以及误差变化率所对应的权重.以ITAE指标作为粒子群寻优的目标函数,可以保证系统的快速响应性、超调量、调节时间以及稳态误差等.通过在Matlab下建立交流永磁同步电机(PMSM)模型,对其仿真分析表明:粒子群算法自寻优模糊PID控制器有着更优越的控制性能.【期刊名称】《机械制造与自动化》【年(卷),期】2018(047)003【总页数】4页(P201-204)【关键词】模糊PID控制;粒子群算法;参数自寻优【作者】杨洋;张秋菊【作者单位】江南大学机械工程学院,江苏无锡214122;江苏省食品先进制造装备技术重点实验室,江苏无锡214122;江南大学机械工程学院,江苏无锡214122;江苏省食品先进制造装备技术重点实验室,江苏无锡214122【正文语种】中文【中图分类】TP2710 引言近年来,随着“工业4.0”的提出,工业伺服控制领域向着智能化方向发展。

部分厂家已经将参数自寻优自适应功能作为开发新一代伺服控制器的必备功能[1]。

目前,市场上的伺服控制器通常采用PID控制方法,PID控制器的参数整定问题又是伺服控制的难点问题[2-4]。

不少学者将智能控制与传统的PID控制方法相结合来实现控制系统的智能化,使之具有自寻优、自适应的能力。

目前,智能控制策略主要是基于模糊控制理论、神经网络控制以及遗传算法理论等[5-7]。

模糊控制理论诞生以来应用于许多领域,取得了良好的控制效果[8]。

自从1974年第一台模糊控制器[9]诞生以来,人们对模糊控制器投入了极大的研究热情,并已经得到了广泛的研究和应用[10]。

然而模糊PID控制也有其缺点,它过分地依赖于专家经验而无法满足特殊条件下的抗干扰能力。

基于改进粒子群算法的pid控制参数优化

基于改进粒子群算法的pid控制参数优化

2020年4月计算机工程与设计Apr.2020第41卷第4期COMPUTER ENGINEERING AND DESIGN Vol.41No.4基于改进粒子群算法的PID控制参数优化张继荣,张天+(西安邮电大学通信与信息工程学院,陕西西安710061)摘要:针对粒子群优化算法(particle swarm optimization algorithm,PSO)后期易陷入局部最优解这一缺陷,提出一种惯性权重余弦调整的粒子群优化算法(IWCPSO)。

在迭代过程中对惯性权重引入余弦变化,改善迭代后期的不足,提高算法的精度。

在matlab2016仿真环境下,与Ziegler-Nichols(ZN)公式法和惯性权重正弦调整的粒子群优化算法(SIPSO)在PID控制参数优化方面的应用效果对比得出该算法是一种使得PID控制系统响应函数性能指标更好,整定结果更精确的算法。

关键词:惯性权重;余弦调整;粒子群;优化算法;PID控制器参数整定中图法分类号:TP18;TP301.6文献标识号:A文章编号:1000-7024(2020)04-1035-06doi:10.16208/j.issnl000-7024.2020.04.023Optimization of PID control parameters based on improvedpartide group algorithmZHANG Jirong,ZHANG Tian+(School of Communication and Information Engineering&Xi'an University of Posts and Telecommunications,Xi'an710061,China)Abstract:A particle swarm optimization algorithm(IWCPSO)with cosine adjustment of inertia weight was proposed to solve the problem that PSO is prone to fa l into local optimal solution.In this algorithm,cosine change was introduced to the inertia weightduringtheiterationprocess,whichobviouslyimprovedthedeficiencyinthelateriterationandimprovedtheaccuracyof thealgorithm.Inthematlab2016simulationenvironment,Ziegler-Nichols$ZN)formulamethodandinertiaweightsinusoidal adjustmentparticleswarmoptimizationalgorithm SIPSO)werecomparedinapplicatione f ectsofPIDcontrolparameteroptimi-zation,results show that the proposed algorithm makes the performance index of PID control system response function be t er, andmakesthetuningresultsofthealgorithm moreprecise.Key words:inertia weight;cosine adjustment;particle groups;optimization algorithm;PID parameter alignment2引言PID控制(proportion integration differentiation)是工业控制领域中常用的控制方法之一m。

基于改进粒子群算法的PID控制参数优化

基于改进粒子群算法的PID控制参数优化

基于改进粒子群算法的PID控制参数优化
黄训爱;杨光永;樊康生;陈旭东;徐天奇
【期刊名称】《组合机床与自动化加工技术》
【年(卷),期】2024()2
【摘要】针对传统粒子群算法存在收敛速度慢,收敛精度低以及易陷入局部最优的问题,提出了一种融合中垂线策略的中垂线粒子群算法(MAPSO),同时引入惯性权重余弦调整策略,避免算法陷入局部最优。

基于中垂线策略的游离粒子位置更新方法,能够加快粒子的收敛速度,从而增强算法的寻优速度和寻优精度。

将改进的粒子群算法用于PID控制器参数优化,与Ziegler-Nichols(Z-N)公式法、线性递减惯性权重粒子群优化算法(MeanPSO)进行对比实验,结果表明中垂线粒子群算法精度更高,能够快速地整定PID参数,使控制系统响应函数性能指标更好。

【总页数】5页(P89-92)
【作者】黄训爱;杨光永;樊康生;陈旭东;徐天奇
【作者单位】云南民族大学电气信息工程学院
【正文语种】中文
【中图分类】TH165;TG659
【相关文献】
1.改进粒子群算法在湿法烟气脱硫系统PID控制参数优化中的应用
2.基于改进粒子群算法的主汽温控制系统PID参数优化
3.基于改进粒子群算法的PID控制器参
数优化4.一种改进粒子群算法及其在水轮机控制器PID参数优化中的应用5.基于改进粒子群算法的PID控制参数优化
因版权原因,仅展示原文概要,查看原文内容请购买。

太阳能光伏发电MPPT优化设计——基于模糊PID控制和粒子群算法

太阳能光伏发电MPPT优化设计——基于模糊PID控制和粒子群算法
第 41 卷第 3 期 Vol.41 No.3
唐山师范学院学报 Journal of Tangshan Normal University
2019 年 5 月 May 2019
太阳能光伏发电 MPPT 优化设计
—— 基于模糊 PID 控制和粒子群算法 胡徐胜,纪 萍
(河海大学 文天学院,安徽 马鞍山 243031)
文献标识码:A
文章编号:1009-9115(2019)03-0047-03
DOI:10.3969/j.issn.1009-9115.2019.03.013
MPPT Optimization Design of Solarphotovoltaic Power Generation Based on Fuzzy Control and Particle Swarm Optimization
1 太阳能光伏发电 MPPT 简介
太阳能光伏发电 MPPT(Maximum Power Point Tracking,最大功率点跟踪),是指太阳能 板在控制系统控制下通过调整角度和电压电流 等措施,使系统以最高的效率对蓄电池充电,从 而提高太阳能光伏发电效率的技术[4-6]。
太阳能电板表面温度和太阳照射角度对太 阳能光伏发电的输出电压和输出电流产生影响, 进而影响光伏发电的功率[7,8]。MPPT 既要检测太 阳能光伏发电的输出电压和电流,还要计算出太 阳能阵列的输出功率,并根据优化控制方案对输 出电流进行控制,实现对最大功率点的追踪[9,10]。 依据判断方法和准则,MPPT 方法可分为开环和 闭环两种模式[11]。光伏电池输出特性受到外界温 度、光照和负载大小、湿度甚至其他气候环境的 影响,所以系统建模比较复杂[12]。研究表明,光 伏电池的最大功率点的电压与光伏电池的开路 电压之间存在近似线性关系。所以,对光伏电池 的开路电压进行优化控制是解决问题的关键。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

it软件#
1
本文选取常见的二阶惯性加纯滞后环节,传递函数为:
)1)(1(21sTsT
e
G
s

s

在这里,3.0,2,,121TT PID参数取为2,1,2idpKKK
本设计中的模糊控制器采用两输入(e, ec),三输出(P,I,D)的形式来调整
PID参数。e的论域为[-3,3],ec的论域为[-3,3]。推理机使用
{,,,,,,}NBNMNSOPSPMPB
,表示{负大,负中,负小,零,正小,正中,正大}
为了可以调节尽可能多的系统,此控制器选定在负边界处和正边界处分别选用平
滑连续的Z型隶属度函数和S型隶属度函数,在中间部分采用灵敏度较强的三角
形隶属度函数。规则表如下图所示:

(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 = [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; % 初始化粒子群
it软件#
1

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,:); % 全局最佳
gbest=Swarm; % 个体最佳
fgbest=fSwarm; % 个体最佳适应值
fzbest=bestf; % 全局最佳适应值
%% 迭代寻优
iter = 0;
y_fitness = zeros(1,MaxIter); % 预先产生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 < MaxIter) && (fzbest > 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
if VStep(j,:)% 位置更新
Swarm(j,:)=Swarm(j,:)+VStep(j,:);
for k=1:Dim
if Swarm(j,k)>Ub(k), Swarm(j,k)=Ub(k); end
if Swarm(j,k)end
% 适应值
fSwarm(j,:) = feval(ObjFun,Swarm(j,:));
% 个体最优更新
if fSwarm(j) < fgbest(j)
gbest(j,:) = Swarm(j,:);
fgbest(j) = fSwarm(j);
end
% 群体最优更新
if fSwarm(j) < fzbest
zbest = Swarm(j,:);
fzbest = fSwarm(j);
it软件#
1

end
end
iter = 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_fitness,'LineWidth',2)
title('最优个体适应值', 'fontsize',18);
xlabel('迭代次数','fontsize',18);ylabel('适应值','fontsize',18);
set(gca,'Fontsize',18);
figure(2) % 绘制PID控制器参数变化曲线
plot(K_p)
hold on
plot(K_i,'k','LineWidth',3)
title('Kp、Ki优化曲线','fontsize',18);
xlabel('迭代次数','fontsize',18);ylabel('参数值','fontsize',18);
set(gca,'Fontsize',18);
legend('Kp','Ki',1);
figure(3) % 绘制PID控制器参数变化曲线
plot(e)
hold on
plot(ec,'k','LineWidth',3)
title('e、ec 优化曲线','fontsize',18);
xlabel('迭代次数','fontsize',18);ylabel('参数值','fontsize',18);
set(gca,'Fontsize',18);
legend('e','ec',1);
figure(4) % 绘制PID控制器参数变化曲线
plot(K_d)
hold on
title('Kd 优化曲线','fontsize',18);
xlabel('迭代次数','fontsize',18);ylabel('参数值','fontsize',18);
set(gca,'Fontsize',18);
legend('Kd',1);
clear
clc
(2)simulnik与算法结合程序
function z=PSO_PID(x)
it软件#
1

assignin('base','Kp',x(1));
assignin('base','Ki',x(2));
assignin('base','Kd',x(3));
assignin('base','e',x(4));
assignin('base','ec',x(5));
[t_time,x_state,y_out]=sim('pca',[0,20]);
z=y_out(end,1);
(3)Simulink仿真图:

实验结果:8446.8,1,20,15ITAEKKKdip,波形如下图所示。
实验结论:本次设计使用的是pid,粒子群算法模糊pid,粒子群算法模糊smith pid相结合,
仿真波形如下图所示。黄色的是pid波形,红色的是粒子群算法模糊pid,蓝色的是粒子群
算法模糊smith pid。从图中明显的可以看出加入粒子群算法模糊控制后波形超调量减少,调
节时间缩短;在加入smith后波形有了明显的改善。

相关文档
最新文档