基于matlab的系统状态空间转化

前段时间学习了一些关于通过系统状态方程判断系统可控性和可观测性,并由此求出其传递函数,基于传递函数判断其稳定性的一些知识。

一、常用的数学模型转换函数:

常用数学模型转换函数
ss2tf                                 将系统状态空间模型转换为传递函数模型
ss2zp                                将系统状态空间模型转换为零极点模型
tf2ss                                 将系统传递函数模型转换为状态空间模型
tf2zp                               将系统传递函数模型转换为转换为零极点模型
zp2ss                                将系统零极点模型转换为状态空间模型
zp2tf                               将系统零极点模型转换为传递函数模型

二、状态反馈与状态观测器主要函数:

place(acker):实现多输入系统的极点配置,同时保证配置出的矩阵在鲁棒性上最优。

K=place(a,b,p);ctrb、obsv、rank、ctrbf、obsvf。

三、传递函数

nyquist,margin,impulse,step,[Gm,Pm,Wcg,Wcp]=margin(s1)

四、举例

  xˊ=\begin{bmatrix} 0 & 1&0 \\ -1& -1 &0 \\ 0 & 0 & 1 \end{bmatrix}x+\begin{bmatrix} 0\\ 1\\ 1 \end{bmatrix}u               y=[1 0 1]x

a=[0 1 0;-1 -1 0;0 0 1];
b=[0 1 1]';
c=[1 0 1];
d=0;
co=ctrb(a,b);%计算可控性矩阵
ob=obsv(a,c);%计算可观测性矩阵
n1=rank(co);%计算矩阵的秩
n2=rank(ob);
[num,den]=ss2tf(a,b,c,d);%由状态空间模型求传递函数
printsys(num,den);
s1=tf(num,den);
sb1=feedback(s1,1);%求闭环传递函数
figure(1)
subplot(2,2,1),nyquist(s1),grid;%求开环nyquist图
subplot(2,2,2),rlocus(s1),grid;%求传递函数对应的闭环根轨迹
subplot(2,2,3),margin(s1),grid;%求开环bode图
subplot(2,2,4),step(sb1),grid;%用阶跃响应验证稳定性
[Gm,Pm,Wcg,Wcp]=margin(s1);%求幅值裕度,剪切频率

五、matlab仿真结果


 六、结论

由图像可分析出该传递函数不稳定。matlab对于系统状态空间以及相应传递函数稳定性的判定具有深远的意义。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值