matlab学习笔记3(控制系统仿真)

matlab学习笔记3(控制系统仿真)

1、典型二阶系统 H ( S ) = ω n 2 S 2 + 2 ξ ω n S + ω n 2 H\left(S\right)=\frac{\omega_n^2 }{S^2 +2\xi \omega_n S+\omega_n^2 } H(S)=S2+2ξωnS+ωn2ωn2,绘制 ω n = 6 \omega_n =6 ωn=6, ξ \xi ξ分别为0.1、0.2、0.3、···、1.0和2.0时的单位阶跃响应。

clear
clc
Wn=0.6;
kesai=[0.1:0.1:1,2];
hold on
for k=kesai
    num=Wn^2;
    den=[1 2*k*Wn Wn^2];
    step(num,den);
end
title('step response');

2、对1中的典型二阶系统,绘制出当 ξ = 0 . 7 \xi =0\ldotp 7 ξ=0.7 ω n 取2 , 4 , 6 , 8 , 10 , 12 \omega_n \textrm{取2},4,6,8,10,12 ωn2,4,6,8,10,12时的单位阶跃响应。

clear
clc
W=2:2:12;
kesai=0.7;
hold on
for wn=W
    num=wn^2;
    den=[1 2*kesai*wn wn^2];
    step(num,den);
end
title('step response');
hold off

3、求三阶系统 H ( s ) = 5 ( s 2 + 5 s + 6 ) s 3 + 6 s 2 + 10 s + 8 H(s)=\frac{5\left(s^2 +5s+6\right)}{s^3 +6s^2 +10s+8} H(s)=s3+6s2+10s+85(s2+5s+6)的单位阶跃响应。

clear
clc
num=[5 25 30];
den=[1 6 10 8];
step(num,den);
title('step response');

4、求典型二阶系统 H ( s ) = ω n 2 s 2 + 2 ξ ω n + ω n 2 H(s)=\frac{\omega_n^2 }{s^2 +2\xi \omega_n +\omega_n^2 } H(s)=s2+2ξωn+ωn2ωn2,当 ξ = 0 . 7 , ω n = 6 \xi =0\ldotp 7,\omega_n =6 ξ=0.7,ωn=6时的单位阶跃响应。

clear
clc
Wn=6;
kesai=0.7;
num=Wn^2;
den=[1 2*kesai*Wn Wn^2];
step(num,den);
title('step response');

5、有高阶系统 { x ˙ = [ − 1.6 − 0.9 0 0 0.9 0 0 0 0.4 0.5 − 5.0 − 2.45 0 0 2.45 0 ] x + [ 1 0 1 0 ] u y = [ 1 1 1 1 ] x \left\lbrace \begin{array}{l} \dot{x} =\left\lbrack \begin{array}{cccc} -1.6 & -0.9 & 0 & 0\\ 0.9 & 0 & 0 & 0\\ 0.4 & 0.5 & -5.0 & -2.45\\ 0 & 0 & 2.45 & 0 \end{array}\right\rbrack x+\left\lbrack \begin{array}{l} 1\\ 0\\ 1\\ 0 \end{array}\right\rbrack u\\ y=\left\lbrack \begin{array}{llll} 1 & 1 & 1 & 1 \end{array}\right\rbrack x \end{array}\right. x˙=1.60.90.400.900.50005.02.45002.450x+1010uy=[1111]x,求单位阶跃响应,单位冲激响应和零输入响应,设初始状态 x 0 = [ 1    , 1 ,    1 , − 1 ] T x_0 ={\left\lbrack 1\;,1,\;1,-1\right\rbrack }^T x0=[1,1,1,1]T

a0=[-1.6,-0.9,0,0;0.9,0,0,0;0.4,0.5,-5.0,-2.45;0,0,2.45,0];
b0=[1 0 1 0]';
c0=[1 1 1 1];
d0=[0];
t=0.5;   %采样周期
[a,b,c,d]=c2dm(a0,b0,c0,d0,t,'tustin');%连续系统离散化
subplot(2,2,1);
dstep(a,b,c,d);%离散系统的单位阶跃响应
title('discrete step response');
subplot(2,2,2);
dimpulse(a,b,c,d);%离散系统的单位冲激响应
title('discrete impulse response');
subplot(2,2,3);
x0=[1 1 1 -1]';%离散系统初始状态
dinitial(a,b,c,d,x0);
axis([0 6 -0.5 2.5]);
title('discrete initial response');
subplot(2,2,4);
[z,p,k]=ss2zp(a,b,c,d,1);%状态方程转化为零极点增益形式
zplane(z,p);
title('discrete ploe-zero map');

6、多输入多输出系统 { x ˙ = [ 2.25 − 5 − 1.25 − 0.5 2.25 − 4.25 − 1.25 − 0.25 0.25 − 0.5 − 1.25 − 1 1.25 − 1.75 − 0.25 − 0.75 ] x + [ 4 6 2 4 2 2 0 2 ] u y = [ 0 0 0 1 0 2 0 2 ] x \left\lbrace \begin{array}{l} \dot{x} =\left\lbrack \begin{array}{cccc} 2.25 & -5 & -1.25 & -0.5\\ 2.25 & -4.25 & -1.25 & -0.25\\ 0.25 & -0.5 & -1.25 & -1\\ 1.25 & -1.75 & -0.25 & -0.75 \end{array}\right\rbrack x+\left\lbrack \begin{array}{cc} 4 & 6\\ 2 & 4\\ 2 & 2\\ 0 & 2 \end{array}\right\rbrack u\\ y=\left\lbrack \begin{array}{cccc} 0 & 0 & 0 & 1\\ 0 & 2 & 0 & 2 \end{array}\right\rbrack x \end{array}\right. x˙=2.252.250.251.2554.250.51.751.251.251.250.250.50.2510.75x+42206422uy=[00020012]x,求单位阶跃响应和单位冲激响应。

clear
clc
a=[2.25 -5 -1.25 -0.5;
   2.25 -4.25 -1.25 -0.25;
   0.25 -0.5 -1.25 -1;
   1.25 -1.75 -0.25 -0.75];
b=[4,6;2,4;2,2;0,2];
c=[0 0 0 1;0 2 0 2];
d=zeros(2,2);
subplot(1,2,1);
step(a,b,c,d);
title('step response');
subplot(1,2,2);
impulse(a,b,c,d);
title('impule response');
  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刚开始的人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值