(优选)MATLAB及应用第八讲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sys=feedback(sys1,sys2);
eg9. 给出如下系统的开环传递函数,试用MATLAB求取 其单位阶跃响应和系统的稳定响应输出值。
(二)时域响应常用的Matlab函数:
产生输入信号:gensig 求取系统单位阶跃响应:step 求取系统的冲激响应:impulse 连续系统的零输入响应: initial 连续系统对任意输入的响应: lsim 求系统稳态值:dcgain 求具有反馈结构的闭环传函:feedback
对于离散系统只需在连续系统对应函数前加d 就可以,如dstep,dimpulse,dinitial,dlsim 等。调用格式与step、impulse类似。
1、gensig()函数的用法
[u,t]= gensig(type,tau) [u,t]= gensig(type,tau,tf,ts)
信 号 序时 列间
序 列
信 信持采 号 号续样 类 周时时 型 期间间
eg1. 生成一个周期为2*pi,持续时间为50s,采样时间 为0.01s的正弦波和方波信号。
(优选)MATLAB及应用第八 讲
6.1 控制系统的时域分析 6.2 控制频域分析 6.3 根轨迹分析
(一)时域响应概述:
回顾时域响应的性能指标 (1)动态性能指标
上升时间、峰值时间、超调量、调整时间 (2)稳态性能指标
稳态误差
控制系统最常用的时域分析方法是:当输入 信号为单位阶跃和单位冲激函数时,求出 系统的输出响应
程序: [u1, t1]=gensig(‘sin’, 2*pi, 50, 0.01); [u2, t2]=gensig(‘square’, 2*pi, 50, 0.01); plot(t1,u1,t2,u2) axis([0 50 -1.2 1.2]) xlabel(‘time/s’) ylabel(‘c(t)’)
第 个 输 入
iu
eg3. 求下列系统的阶跃响应曲线。
程序: numz=[1 -1.2 0.4]; denz=[1.2 -1.5 0.9]; dstep(numz,denz) xlabel(‘time/s’) ylabel(‘c(t)’)
4、impluse()函数的用法

impluse(sys); impluse(sys,t); 间
6、initial()函数的用法
[y,t,x]=initial(sys,x0); [y,t,x]=initial(sys,x0,t);
7、dinitial()函数的用法
dinLeabharlann Baidutial(sys,x0); [y,x,n]=dinitial(sys,x0,n);
eg6. 求下列系统在x0=[1;1]时,系统的零输入响应。
程序:
a=[-0.5 -0.8;0.4 0.4];b=[1;-1]; c=[2 -5]; d=2; sys=ss(a,b,c,d) [u,t]=gensig(‘sin’, 2*pi, 30, 0.1) lsim(sys,u,t)
11、dcgain()函数的用法
k=dcgain(sys);
12、feedback()函数的用法
程序:
a=[-0.5 -0.8;-0.4 0.4];b=[1;-1]; c=[2 -5]; d=2; x0=[1;1]; t=0:0.1:30; initial(a,b,c, d,x0,t)
eg7. 求下列系统在x0=[1;1.2]时,系统的零输入响应。
程序: G=[-0.5 -0.8;0.4 1];H=[1;-1]; C=[1 -5]; D=2; x0=[1;1.2]; dinitial(G,H,C, D,x0)
5、dimpulse()函数的用法
dimpulse(numz,denz); dimpulse (A,B,C,D); dimpulse (A,B,C,D,iu);
第 个 输 入
iu
eg5. 将下列连续系统离散化,并求其离散状态系统的冲 激响应曲线。
程序: 离散化: a=[-0.5 -0.8;0.4 0];b=[1;-1]; c=[2 5]; d=0; [G,H,Cd,Dd]=c2dm(a,b,c,d,0.1) 冲激响应: dimpulse(G,H,Cd,Dd)
程序: K=10;Z=[-1];P=[-2 -3]; [num,den]=zp2tf(Z, P, K); sys=tf(num,den); t=0:0.2:20; step(sys,t) xlabel(‘time/s’) ylabel(‘c(t)’)
3、dstep()函数的用法
dstep(numz,denz); dstep(A,B,C,D); dstep(A,B,C,D,iu);
2、step()函数的用法

step(sys);step(sys,t);

y=step(num,den,t);
向 量
[y,x,t]=step(num,den);
0
[y,x,t]=step(A,B,C,D,iu);
[ ,t]
输 状 自时 出 态 动间 矩 轨 生序 阵 迹 成列
eg2. 求下列系统在输入信号为r(t)=10*1(t)输入时,系统 在[0 20s]的响应曲线。
y=impluse (num,den,t);
向 量
[y,x,t]=impluse (num,den);
0
[y,x,t]=impluse (A,B,C,D,iu);
[ ,t]
输 状 自时 出 态 动间 矩 轨 生序 阵 迹 成列
eg4. 求下列系统的脉冲响应曲线。
程序: K=1;Z=[-1];P=[-2 -3]; [num,den]=zp2tf(Z, P, K); sys=tf(num,den); t=0:0.2:20; impulse(sys,t) xlabel(‘time/s’) ylabel(‘c(t)’)
8、lsim()函数的用法
[y,t,x]=lsim(sys,u,t); [y,t,x]=lsim(sys,u,t,x0);
9、dlsim()函数的用法
dlsim(sys,u); [y,x]=dlsim(sys,u,x0);
eg8. 求下列系统的正弦响应。其中:周期2*pi,时间 t=30s,采样周期取0.1s.
相关文档
最新文档