现代控制理论第一次上机实验报告
实验二 利用MATLAB求取线性系统的状态空间模
型的解
实验目的:
1、根据状态空间模型分析系统由初始状态和外部激励所引起的响应; 2、通过编程、上机调试,掌握系统运动的分析方法。
实验原理:
一、系统时域响应的求解方法 给定系统的状态空间模型:
x(t)?Ax(t)?Bu(t) (2.1)
y(t)?Cx(t)?Du(t)设系统的初始时刻t0?0,初始状态为x(0),则系统状态方程的解为
x(t)?ex(0)?eAtAtt?e0t?A?Bu(?)d? (2.2)
?eAtx(0)??eA(t??)Bu(?)d?0输出为
y(t)?CeAtx(0)?C?eA(t??)Bu(?)d??Du(t) (2.3)
0t包括两部分,第一部分是由系统自由运动引起的,是初始状态对系统运动的影响;第二部分是由控制输入引起的,反映了输入对系统状态的影响。输出
y(t)由三部分组
成。第一部分是当外部输入等于零时,由初始状态x(t0)引起的,故为系统的零输入响应;第二部分是当初始状态x(t0)为零时,由外部输入引起的,故为系统的外部输入响应;第三部分是系统输入的直接传输部分。 实验步骤
1、构建系统的状态空间模型,采用MATLAB的m-文件编程; 2、求取系统的状态和输出响应;
3、在MATLAB界面下调试程序,并检查是否运行正确。
实验要求
1、在运行以上程序的基础上,应用MATLAB验证一个振动现象可以由以下系统产生:
?01?x(t)??x ???10?证明该系统的解是
?costsint?x(t)??x(0) ???sintcost?假设初始条件x(0)m-程序如下: A=[0 1;-1 0]; B=[0;0]; D=B; C=[1 0;0 1]; sys=ss(A,B,C,D); x0=[0;1]; t=[0:0.01:20]; [y,T,x]=lsim(sys,u,t,x0) subplot(2,1,1),plot(T,x(:,1)) xlabel('Time(sec)'),ylabel('X_1') subplot(2,1,2),plot(T,x(:,2)) xlabel('Time(sec)'),ylabel('X_2') 仿真结果如下:
?0????,用Matlab观察该系统解的形状。 ?1?
仿真分析:
由仿真图可知,X1和X2周期相同约为6.2,相位差90度,故X1=sint;X2=cost,得证。 实验心得
通过本次实验,更清楚的了解了书上例2-1解题过程。