利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)

一、应用MATLAB建立线性系统状态空间描述

1.状态空间模型

已知线型定常连续系统Σ(A,B,C,D),可调用函数ss(·)建立其状态空间模型,调用格式为:

sys=ss(A,B,C,D)
其中sys为连续系统的状态空间描述。

已知线型定常离散系统Σ(G,H,C,D),可调用函数ss(·)建立其状态空间模型,调用格式为:

sys=ss(G,H,C,D,Ts)
其中,Ts为采样周期,输出sys为离散系统的状态空间描述。
2.传递函数模型

num=(bm,bm-1, … , b0)
den=(1,an-1, … , a0)
单输入单输出线型定常连续系统的调用格式为:

sys=tf(num,den)

单输入单输出线型定常离散系统的调用格式为:

sys=tf(num,den,Ts)

其中,输出sys为连续或离散系统的状态空间描述。

3.传递函数转换为状态空间模型
[A,B,C,D]=tf2ss(num,den)

执行该命令后,输出为状态空间模型的系数矩阵A,B,C,D。

4.状态空间模型转换为传递函数
[num,den]=ss2tf(A,B,C,D)

执行该命令后,输出为传递函数分子和分母多项式的系数数组num,den。

5.状态空间模型的线性变换

给定线性非奇异变换矩阵P:

sys1=ss2ss(sys,P)

其中,sys和sys1分别为线性变换前与变换后的状态空间模型。

6.状态空间模型转化为约当标准型
[P,J]=jordan(A)

其中,J是A的约当标准型,P是将A变换为J的线性变换矩阵。

7.实例利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第1张图片

利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第2张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第3张图片

二、应用MATLAB进行线性系统的运动分析

1.矩阵指数函数的计算

对eAt进行数值计算时:

eAt=expm(A)

其中,eAt为计算结果。

对eAt进行符号计算时:

syms t
eAt=expm(A)

其中,t为符号变量,表达式A*t为MATLAB的符号矩阵。

2.线型定常连续系统的状态空间模型求解
[y,t,x]=lsim( sys,u,t,x0)

其中,sys为系统的状态空间模型,t为时间坐标数组,u为输入信号对应于t的各时刻输入信号采样值组成的数组,x为初始状态向量。

3.实例

利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第4张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第5张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第6张图片

三、应用MATLAB分析线性系统能控性和能观性

1.状态能控性判定
Qc=ctrb(A,B)
Qc=ctrb(sys)

其中,第一种输入格式为直接给定系统矩阵A和输入矩阵B,第二种格式为给定状态空间模型sys。输出矩阵Qc为计算所得的能控性判别矩阵。

k=rank(A)
k=rank(A,tol)

其中,A为输入矩阵,shuchuk为A的秩。

d=size(X)
m=size(X,dim)
[d1,d2,d3,...,dn]=size(X)

其中,输出d为数组X的各维的大小组成的一维数组;m为数组X的第dim维的大小;d1,d2,d3,…,dn为数组X的各维的大小。

2.状态能观性的判定
Qo=obsv(A,C)
Qc=obsv(sys)

其中,第一种输入格式为直接给定系统矩阵A和输入矩阵C,第二种格式为给定状态空间模型sys。输出矩阵Qo为计算所得的能观性判别矩阵。

3.能控标准型与能观标准型

MATLAB提供的建立系统标准型的函数cannon(·)只能用于建立对角线标准型和单输入单输出能控标准型。

4.按能控标准型分解和按能观标准型分解

MATLAB提供了.按能控标准型分解的函数ctrbf(·)和按能观标准型分解的函数obsvf(·)。

5.实例

利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第7张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第8张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第9张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第10张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第11张图片

四、应用MATLAB研究线性系统的最小实现

1.最小实现函数
G_minreal=minreal(G)

其中,G_minreal为系统的最小实现,G为系统的状态空间模型。

2.实例

利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第12张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第13张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第14张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第15张图片

五、应用MATLAB分析线性系统稳定性

1.系统矩阵特征值的计算以及对称矩阵正定性的判定
A_eig=eig(A)

其中A_eig为矩阵A的全部特征值构成的向量。
判别矩阵P的正定性也可利用上述函数,若特征值全部大于0,则P正定。

2.连续系统李雅普诺夫方程求解

求解连续系统李雅普诺夫方程ATP+PA=-Q中的对称矩阵P,调用格式为:

P=lyap(A',Q)
3.离散系统李雅普诺夫方程求解

求解离散系统李雅普诺夫方程GTPG-P=-Q中的对称矩阵P,调用格式为:

P=dlyap(G',Q)
4.实例

利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第16张图片利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第17张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第18张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第19张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第20张图片

六、应用MATLAB实现线性系统统合

1.单输入系统状态反馈极点配置

对于单输入线性定常系统Σ0(A,b):

K=acker(A,b,p)

其中,p为闭环系统期望极点构成的一维数组,输出K为状态反馈矩阵。

2.多输入系统状态反馈极点配置

对于多输入线性定常系统Σ0(A,B):

K=place(A,B,p)

其中,p为闭环系统期望极点构成的一维数组,输出K为状态反馈矩阵。该函数既可用于单输入系统,也可适用于多输入系统。

3.实例

利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第21张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第22张图片利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第23张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第24张图片
利用MATLAB解决现代控制理论的计算问题(这一篇文章就够了)_第25张图片

你可能感兴趣的:(MATLAB)