概述
z=[-2,-6];p=[0,0,-1,-5,-8];k=668;
Gs=zpk(z,p,k); %求被控对象传递函数G(s)的MATLAB描述 T=0.1
Gz=c2d(Gs,T);
Gz=c2d(Gs,T,'zoh'); %用零阶保持器离散化,求被控对象脉冲传递函数Gz [z,p,k]=zpkdata(Gz) %求出其极点,零点及增益
Gz=zpk(z,p,k,0.1,'variable','z^-1'); %转换Gz为零极点增益模型按z-1形式排列
syms z r0 r1 c0 c1 c2 c3 c4; %配置系数
Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1);
Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)*(r0+r1*z^-1); %设置Gc(z)满足控制器Dy(z)可实现、最少拍稳定的要求。
f1=subs(Gcz,z,1)-1; %列方程求解Gc f2=subs(diff(Gcz,1),z,1) [r0j,r1j]=solve(f1,f2);
Gcz=subs(Gcz,[r0 r1],[r0j r1j]);
Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4); %设置Ge(z)
f3=limit(Gez,z,inf)-1; %列方程求解Gez f4=subs(Gez,z,-3.252)-1 f5=subs(Gez,z,0.8187)-1 f6=subs(Gez,z,0.5488)-1; f7=subs(Gez,z,-0.2281)-1;
[c0j,c1j,c2j,c3j,c4j]=solve(f3,f4,f5,f6,f7);
Gez=subs(Gez,[c0 c1 c2 c3 c4],[c0j c1j c2j c3j c4j]);
Guz=Gcz/Gz; Dwz=Gcz/Gz/Gez;
[N,D]=numden(simplify(Gcz));
numc=sym2poly(N); denc=sym2poly(D);
[N,D]=numden(simplify(Guz));
numu=sym2poly(N);
denu=sym2poly(D);
t=0:0.1:10;
u=t; %单位速度输入
hold on;
dlsim(numc,denc,u); % .程序仿真 dlsim(numu,denu,u) hold off
[N,D]=numden(simplify(Dwz)); %提取Dyz的系数,图形仿真中设置Dwz. numdy=sym2poly(N) dendy=sym2poly(D)
最后
以上就是热情河马为你收集整理的最少拍控制算法MATLAB仿真,疑问,最少拍计算机控制系统的设计问题?的全部内容,希望文章能够帮你解决最少拍控制算法MATLAB仿真,疑问,最少拍计算机控制系统的设计问题?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复