1.求解传递函数
MATLAB控制系统工具箱中提供了函数命令ss2tf(), 可以把给定的状态空间模型转换为传递函数模型。
调用格式:[num,den] = ss2tf(A,B,C,D,1)
其中最后一个1表示单输入。
示例:
运行代码
A = [0 1 0; 0 0 1; -5 -25 -5];
B = [0; 25; -120];
C = [1 0 0];
D = [0];
[num,den] = ss2tf(A,B,C,D,1)
得到的输出结果为
num =
0 0 25.0000 5.0000
den =
1.0000 5.0000 25.0000 5.0000
由此即可写出传递函数模型
————————————————————
2.求解矩阵指数函数
例如:
这样一个矩阵指数函数,运行
A=[-1 2;0 -1];
syms s; I=eye(2);
E=s*I-A;
F=inv(E)
得到
得到 F =
[ 1/(s+1), 2/(s+1)^2]
[ 0, 1/(s+1)]
由此,得到结果
————————————————————
3.判断系统能控能观性
A=[0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0];
B=[0;1;0;3];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
n=size(A,1);
Uc=ctrb(A,B);
rc=rank (Uc)
if rc==n
disp('系统能控')
else
disp('系统不能控')
end
————————————————————
4.判断系统稳定性
A=[0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0];
B=[0;1;0;3];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
Uc=ctrb(A,B);
rc=rank (Uc);
P=poly(A),v=roots(P)
运行结果:
极点为5.4222,-5.4222,显然,其中一个极点在右半平面,该系统不稳定
————————————————————
5.李雅普诺夫稳定性分析,求P矩阵
代码如下
cA=[0 1;-1 -2];
A=A'; %将A转置
Q=[1 0;0 1];
P=lyap(A,Q)
运行结果:
————————————————————
6.求解状态反馈配置极点的反馈向量K
代码如下
A=[-20 20;-1 0];
B=[0 1]';
C=[1 0];
D=0;
P=[-7.07+7.07i -7.07-7.07i];
K=place(A,B,P)%负反馈,这里的K相对于书上的K加了个负号
运行结果:
————————————————————
7.求解含观测器的状态反馈稳定控制器的反馈向量K和全维状态观测器的L
取状态观测器极点为[-20 -20]
代码如下
A=[-20 20;-1 0];
B=[0 1]';
C=[1 0];
D=0;
P=[-7.07+7.07i -7.07-7.07i];
K=place(A,B,P)%负反馈,这里的K相对于书上的K加了个负号
p=[-20 -20];
L=(acker(A',C',p))'
运行结果:
————————————————————
8.
持续更新中~ 赞越多更新越快