实验一matlab系统的传递函数和状态空间表达式的转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 MATLAB 系统的传递函数和状态空间表达式的转换
一、 实验目的
1、学习多变量系统状态空间表达式的建立方法;
2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法;
3、掌握相应的MATLAB 函数。
二、 实验原理
设系统的模型如式()所示:
⎩⎨⎧+=+=D
Cx y Bu Ax x ' x ''R ∈ u ∈R ’’’ y ∈R P 其中A 为nXn 维系统矩阵、B 为nXm 维输入矩阵、C 为pXn 维输出矩阵,D 为直接传递函数。系统的传递函数和状态空间表达式之间的关系如式()所示
G(s)=num(s)/den(s)=C (SI-A)-1 B+D 式()中,num(s)表示传递函数的分子阵,其维数是pXm ,den(s)表示传递函数的按s 降幂排列的分母。
表示状态空间模型和传递函数的MATLAB函数如下:
函数ss(state space的首字母)给出了状态空间模型,其一般形式是:
sys=ss(A,B,C,D)
函数tf(transfer function的首字母)给出了传递函数,其一般形式是:
G=tf(num,den)
其中num表示传递函数中分子多项式的系数向量(单输入单输出系统),den表示传递函数中分母多项式的系数向量。
函数tf2ss给出了传递函数的一个状态空间实现,其一般形式是: [A,B,C,D]=tf2ss(num,den)
函数ss2tf给出了状态空间模型所描述系统的传递函数,其一般形式是:
[num,den]=ss2tf(A,B,C,D,iu)
其中对于多输入系统,必须确定iu的值。例如,若系统有三个输入u1,u2,u3,则iu必须是1、2、或3,其中1表示u1,2表示u2,3表示u3。该函数的结果是第iu个输入到所有输出的传递函数。
三.实验步骤及结果
1、应用MATLAB 对下列系统编程,求系统的A 、B 、C 、D 阵,然后验证传递函数是相同的。
G(s)= ⎥⎦⎤⎢⎣⎡+++352^12s s s s 3+4s 2+5s+1
程序和运行结果:
num=[0 0 2 1;0 1 5 3];
den=[1 4 5 1];
[A,B,C,D]=tf2ss(num,den)
A = -4 -5 -1
1 0 0
0 1 0
B = 1
C =0 2 1
1 5 3
D =0
A=[-4 -5 -1;1 0 0;0 1 0];
A=[-4 -5 -1;1 0 0;0 1 0];
B=[1;0;0];
C=[0 2 1;1 5 3];
D=[0;0];
[num1,den1]=ss2tf(A,B,C,D,1)
num1 = 0
den1 =
2、给定系统G(s)=6112^63^542^+++++s s s s s ,求系统的零极点增益模型和状态空间模型
程序和运行结果:
num=[0 1 4 5];
den=[1 6 11 6];
sys=tf(num,den)
Transfer function:
s^2 + 4 s + 5
----------------------
s^3 + 6 s^2 + 11 s + 6
>> sys1=tf2zp(num,den)
sys1 = +
-
>> [A,B,C,D]=tf2ss(num,den)
A =6 -11 -6
1 0 0
0 1 0
B =1
C =1 4 5
D =0
实验2 状态空间模型系统仿真及状态方程求解
一、实验目的
1、熟悉线性定常离散与连续系统的状态空间控制模型的输入方
法;
2、熟悉系统模型之间的转换功能;
3、利用MATLAB对线性定常系统进行动态分析。
二、实验原理
函数step(sys)给出了系统的单位阶跃响应曲线,其中的sys 表示贮存在计算机内的状态空间模型,它可以由函数sys=ss(A,B,C,D)得到。
函数impulse(sys)给出了系统的单位脉冲响应曲线。
函数[y,T,x]=Isim(sys,u,t,x0)给出了一个状态空间模型对任意输入的响应,x0是初始状态。
函数c2d将连续系统状态空间描述转化为离散系统状态空间形式,其一般形式为:[G,H]=c2d(A,B,T),其中的T是离散化模型的采样周期。
函数d2c将离散系统状态空间描述转化为连续系统状态空间
描述,其一般形式为:sysc=d2c(sysd,Method),其中的Method 默认值为‘zoh’方法,即带零阶保持器的z变换。
函数dstep(G,H,C,D)给出了离散系统的单位阶跃响应曲线。
三、实验步骤及结果
程序和运行结果:
T=时
T=1s时
T=2s时
A=[0 1 0;-2 -3 0;-1 1 -3]; B=[0;0;1];
C=[1 1 1];
D=1;
[G1 H1]=c2d(A,B,
G1 = 0
H1 = 0
>> dstep(G1,H1,C,D,1)
>> dstep(G1,H1,C,D,1)
>> [G2 H2]=c2d(A,B,1)
G2 = 0
H2 =0