【Matlab】创建离散时间模型(控制系统工具箱)
这节用tf, zpk, ss,和frd命令来创建离散时间模型。
文章目录
- 定义离散时间模型
- 分析离散时间系统
定义离散时间模型
创建离散时间模型的语法与连续时间模型的语法类似,只是还必须提供采样时间(采样间隔以秒为单位)。
例如,要指定离散时间传递函数:
H ( z ) = z − 1 z 2 a − 1.85 z + 0.9 H(z) = \frac{z - 1}{z^2a - 1.85 z + 0.9} H(z)=z2a−1.85z+0.9z−1
采样周期,Ts = 0.1 s。
可以用以下代码表示:
num = [ 1 -1 ];
den = [ 1 -1.85 0.9 ];
H = tf(num,den,0.1)

用有理式表示如下:
z = tf('z',0.1);
H = (z - 1) / (z^2 - 1.85*z + 0.9);
类似的,要指定离散时间状态空间模型:
x [ k + 1 ] = 0.5 x [ k ] + u [ k ] x[k+1] = 0.5 x[k] + u[k] x[k+1]=0.5x[k]+u[k]
y [ k ] = 0.2 x [ k ] . y[k] = 0.2 x[k] . y[k]=0.2x[k].
采样周期:Ts = 0.1 s
用以下代码表示:
sys = ss(.5,1,.2,0,0.1);
step(sys)
画出阶梯响应图如下:

分析离散时间系统
有几种方法可以确定 LTI 模型是否离散:
- 显示屏显示非零采样时间值
- sys.Ts或返回非零采样时间值。get(sys,‘Ts’)
- isdt(sys)返回真值。
例如,对于上面指定的传递函数H:
H.Ts

isdt(H)

也可以画出 时间响应图 或 伯德图 来看:
step(H)

bode(H), grid

以上。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
