我是靠谱客的博主 英勇小笼包,最近开发中收集的这篇文章主要介绍基于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对于系统状态空间以及相应传递函数稳定性的判定具有深远的意义。

最后

以上就是英勇小笼包为你收集整理的基于matlab的系统状态空间转化的全部内容,希望文章能够帮你解决基于matlab的系统状态空间转化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部