关于simulink中state_place模块的搭建与是使用
关于simulink中状态空间模型的搭建
目的:源于线性系统课上的作业仿真,针对状态空间模块网上没有找到合理的答案,所以自己总结了一份。
这个是simulink中的模块state-space
我们可以设定
A=[1 0 2;2 1 3;4 0 5];
B=[1 0;0 0;1 1];
C=[1 0 0;0 1 1];
D=0;
(1)接下来我们首先介绍一下这个模块的设定用法,为了简化我的说明,这里直接附上官方说明,相信各位大佬能瞬间明白其设定方式。http://ww2.mathworks.cn/help/simulink/slref/statespace.html
这个网址还是比较好的,相当于一份中文说明书。
(2)阅读完模块的设定后,我们便设计好了其A,B,C,D阵,successful?作业中让进行状态极点的反馈,也就是说将系统中的变量通过K矩阵反馈到系统的输入端,那么这个模块我们如何去获得他的状态变量呢?
对于系统的状态输出,其实我们可以在D等于0的情况下,令C是单位矩阵,如图所示,那么根据系统的输出方程可以得知y=x,也就是说此时模块的输出变成了状态的输出。
然后你的输出用Demux模块就可以将状态变量分开输出。
那么获得的x1、x2、x3可以任我所用了。
比如我还是想获得这个系统对应C=[1 0 0;0 1 1]的y1和y2,那么我们就可以通过一个增益矩阵来获得输出。如图
再比如说要进行状态反馈K=[-1 0 0;0 -2 -3];
那么就会有
OK!