matlab最小拍单位速度绘图,疑问,最少拍计算机控制系统的设计问题?

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)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值