- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于matlab的典型二阶系统的模糊控制与传统PID控制的性能-Read
基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 一.相关概念 1.系统数学模型:系统的数学模型在系统的分析中起着重要的作用,建立数学模型的目的之一是为了用数学方法定量地对系统进行分析。当系统微分方程列出后,只要给定输入量的初始条件,便可以对微分方程求解。 假设系统是单输入单输出系统(简称SISO)系统,其输入输出分别用u(t),y(t)来表示,并且系统的初始条件为零,则得到线性系统的传递函数模型: 若系数 (i=0,…m) 与(i=0,…n-1)为常数,则系统称为线性定常系统。在MATLAB语言中,可以利用传递函数分子、分母多项式的系数向量进行描述。分子多项式的系数向量为 分母多项式的系数向量为 这里分子、分母多项式系数按s的降幂排列。 基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 2.二阶系统:用二阶微分方程描述的系统,称二阶系统。它在控制系统中应用极为广泛 ,许多高阶系统,在一定条件下,往往可以简化成二阶系统。因此,详细研究和分析二阶系统的特性,具有重要的实际意义。 系统闭环传递函数为: 我们这里所要讨论的是二阶系统加上一些典型的非线性环节,如死区.饱和,纯延迟 基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 这里假设系统(传递函数模型)为: 控制执行结构具有0.07的死区和0.7的饱和,取样时间间隔T=0.01 在matlab是利用系统的状态空间模型,因此我们要将上述模型转换为 状态空间模型,matlab中提供了tf2ss(num,den)函数进行模型的转换 注:状态方程的一阶微分方程表示形式为: X为n维状态向量,U为m维输入矩阵;Y为l维输出向量;A为n×n的系统状态阵,由系统参数决定,B为n×m维系统输入阵;C为l×n维输出阵;D为l×m维直接传输阵。 基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 我们的目标就是根据控制量U求出系统输出量Y,然后将其跟参考参考输入进行比较得到系统偏差及偏差变化率,最后将其用于系统控制 3.龙格-库塔算法:求解常微分方程的数值解法,此方法可使局部截断误差达到 ,也就是三阶精度,具体推导见 《计算方法》(第二版)易大义 沈云宝 李有法编 浙江大学出版社 这里直接应用其得出的结论: 对于一阶常微分方程: 基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 其数值解为: 基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 具体过程(matlab程序): 系统模型建立: num=20; den=[1.6,4.4,1]; [a1,b,c,d]=tf2ss(num,den);%将传递函数转化为状态模型 x=[0;0]; T=0.01;h=T; %T为采样时间 umin=0.07;umax=0.7; td=0.02;Nd=td/T; %Nd延迟时间 N=500;R=1.5*ones(1,N);%参考值 基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 1.传统PID控制过程 其matlab程序如下: e=0; de=0;ie=0; kp=5;ki=0.1;kd=0.001;%设定的比例,积分,微分常数 基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 for k=1:N % N为采集次数 uu1(1,k)= -(kp*e+ki*ie+kd*de);%控制量生成 if k=Nd %纯延迟 u=0; else u=uu1(1,k-Nd); end if abs(u)=umin%死区和饱和环节 u=0 elseif abs(u)umax u=sign(u)*umax; end 基于matlab的典型二阶系统的模糊控制与传统PID控制的性能比较 %龙格-库塔算法求对象的输出 k1=a1*x+b*u; k2=a1*(x+h*k1/2)+b*u; k3=a1*(x+h*k2/2)+b*u; k4=a1*(x+h*k3)+b*u; x=x+(k1+2*k2+2*k3+k4)*h/6; y=c*x+d*u; %计算误差.微分和积分 e1=e; e=y(1,1)-R(1,k); de=(e-e1)/T; ie=e*T+ie; yy
文档评论(0)