利用MATLAB进行系统时域分析,matlab控制系统时域分析教程

本文详细介绍了如何使用MATLAB进行系统时域分析,包括零输入响应、阶跃响应、脉冲响应、任意输入响应的计算方法及示例。同时讲解了Bode图、Nichols图、Nyquist图、频率响应奇异值图和根轨迹的绘制,是MATLAB控制系统的实用教程。
摘要由CSDN通过智能技术生成

7.1 零输入响应

1、[调用格式] initial (sys,x0) initial (sys,x0,t)

initial (sys1,sys2….sysn,x0) initial (sys1,sys2….sysn,x0,t)

initial (sys1,’plotstyle1’,sys2, ’plotstyle2’,….,x0)

[y t x]=initial(sys,x0)

Sys—输入系统 x0—初始状态下状态变量

t—采样时间矢量 plotstyle—绘制零输入响应曲线的特性

[y t x]—表示输出矢量 采用时间 状态变量

重要提示:initial命令适用于状态方程模型sys

2、例:根据传递函数求解单一系统的零输入相应

初始状态下状态变量为

num=[0 0 1 1];den=[1 9 26 24];

[a b c d]=tf2ss(num,den);

sys=ss(a,b,c,d);

x0=[1 1 0]';

t=0:0.01:4;

initial(sys,x0,t);

7.2 阶跃响应

[调用格式] step(sys) step(sys ,t)

Step(sys1,sys2,….sysn) Step(sys1,sys2,….sysn,t)

step(sys1,’plotstyle1’,sys2, ’plotstyle2’,….,x0)

[y t x]=step(sys,x0)

例:根据状态方程输出多系统的阶跃响应

系统一:

系统二:

a1=[-4 -3;1 0];b1=[1 0]';c1=[3 0];d1=[2];

sys1=ss(a1,b1,c1,d1);

a2=[-5 -3;1 0];b2=[1 0]';c2=[1 1];d2=[0];

sys2=ss(a2,b2,c2,d2);

step(sys1,'r-',sys2,'b-.');

7.3 脉冲响应

[调用格式] impulse(sys) impulse(sys ,t)

impulse(sys1,sys2,….sysn) impulse(sys1,sys2,….sysn,t)

impulse(sys1,’plotstyle1’,sys2, ’plotstyle2’,….,x0)

[y t x]=impulse(sys,x0)

例:根据状态方程输出单一系统的脉冲响应

a=[-11 -44 -74 -40;1 0 0 0 ;0 1 0 0;0 0 1 0];b=[1 0 0 0]';

c=[0 0 20 0];d=[0];

sys

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值