实验一MATLAB系统的传递函数和状态空间表达式的转换

合集下载

现代控制理论实验一、线性系统状态空间表达式的建立以及线性变换河南工业大学

现代控制理论实验一、线性系统状态空间表达式的建立以及线性变换河南工业大学

现代控制理论实验一、线性系统状态空间表达式的建立以及线性变换河南工业大学河南工业大学《现代控制理论》实验报告专业: 自动化班级: F1203 姓名: 蔡申申学号:201223910625完成日期:2015年1月9日成绩评定:一、实验题目:线性系统状态空间表达式的建立以及线性变换二、实验目的1. 掌握线性定常系统的状态空间表达式。

学会在MATLAB 中建立状态空间模型的方法。

2. 掌握传递函数与状态空间表达式之间相互转换的方法。

学会用MATLAB 实现不同模型之间的相互转换。

3. 熟悉系统的连接。

学会用MATLAB 确定整个系统的状态空间表达式和传递函数。

4. 掌握状态空间表达式的相似变换。

掌握将状态空间表达式转换为对角标准型、约当标准型、能控标准型和能观测标准型的方法。

学会用MATLAB 进行线性变换。

三、实验过程及结果1. 已知系统的传递函数 (a) )3()1(4)(2++=s s s s G 1.建立系统的TF 模型。

num=4;den=[1 5 7 3 0];G=tf(num,den)G =4-------------------------s^4 + 5 s^3 + 7 s^2 + 3 sContinuous-time transfer function.2.将给定传递函数用函数ss( )转换为状态空间表达式。

再将得到的状态空间表达式用函数tf( )转换为传递函数,并与原传递函数进行比较。

2.1转换成状态空间表达式。

Gss=ss(G)Gss =a =x1 x2 x3 x4x1 -5 -1.75 -0.75 0x2 4 0 0 0x3 0 1 0 0x4 0 0 1 0b =u1x1 1x2 0x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.2.2将状态空间表达式转换成传递函数并计较。

G1=tf(Gss)G1 =4-------------------------s^4 + 5 s^3 + 7 s^2 + 3 sContinuous-time transfer function.由之前的实验结果可得实验中的传递函数相同,因为线性变换不改变系统的传递函数。

现代控制原理matlab实验报告1

现代控制原理matlab实验报告1

现代控制原理matlab实验报告实验一.利用MATLAB进行线性系统的模型转换及联结一.实验目的1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数、零极点模型之间相互转换的方法;2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。

3、通过编程、上机调试,掌握系统模型的联结方法。

二.实验步骤1、根据所给系统的已知条件,如传递函数、零极点模型或(A 、B 、C 、D ),实现状态空间模型、传递函数模型、零极点增益模型之间的转换,采用MATLAB 的相关函数编写m -文件。

2、应用系统建模工具,并联、串联、闭环、反馈等函数解决实际问题。

3、在MA TLAB 界面下调试程序。

三.实验要求1.在运行以上例程序的基础上,应用MA TLAB 求下面传递函数阵的状态空间实现232252()234s s s G s s s s +⎡⎤⎢⎥++⎣⎦=+++提示:num =[0 0 1 2;0 1 5 3] 解:num=[0 0 1 2;0 1 5 2]; den=[1 2 3 4];[A,B,C,D]=tf2ss(num,den) A =-2 -3 -4 1 0 0 0 1 0 B =1 0 0 C =0 1 2 1 5 2 D =0 02.一个双输入双输出系统112233412311022711353x x x x u x x -⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦11223120011x y x y x ⎡⎤⎡⎤⎡⎤⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦求出此模型的能控标准型和能观标准型。

提示:写出两个子系统的传递函数模型,进而求出这两个传递函数模型的能控标准型实现或能观标准型实现,讨论是否能通过子系统的能控标准型实现或能观标准型实现求出原来系统的能控标准型和能观标准型。

解:A=[4 1 -2;1 0 2;1 -1 3]; B=[3 1;2 7;5 3]; C=[1 2 0;0 1 1]; D=[0];[num1,den1]=ss2tf(A,B1,C1,D) [num2,den2]=ss2tf(A,B2,C2,D)得到: num1 =0 7.0000 -19.0000 -36.0000den1 =1.0000 -7.0000 15.0000 -9.0000num2 =0 10.0000 -60.0000 98.0000den2 =1.0000 -7.0000 15.0000 -9.0000实验二.利用MATLAB 求取线性系统的状态空间模型的解并分析其稳定性一. 实验目的1、根据状态空间模型分析系统由初始状态和外部激励所引起的响应;2、了解系统稳定性的判定方法(直接法和间接法);3、通过编程、上机调试,掌握系统运动的分析方法。

现代控制理论Matlab实验报告

现代控制理论Matlab实验报告

现代控制理论第一次Matlab 实验报告一、实验目的:1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数、零极点模型之间相互转换的方法;2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。

3、通过编程、上机调试,掌握系统模型的联结方法。

二、实验过程实验题目1:(1)在运行以上例程序的基础上,应用MATLAB 求下面传递函数阵的状态空间实现232252()234s s s G s s s s +⎡⎤⎢⎥++⎣⎦=+++ 提示:num =[0 0 1 2;0 1 5 3](2)Matlab 源程序num=[0 0 1 2;0 1 5 3];den=[1 2 3 4];[A ,B ,C ,D ]=tf2ss (num,den);(3)实验结果 A =—2 —3 -4 1 0 00 1 0B =1C =0 1 21 5 3D =实验题目2:(1)一个双输入双输出系统112233412311022711353x x x x u x x -⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦11223120011x y x y x ⎡⎤⎡⎤⎡⎤⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦求出此模型的能控标准型和能观标准型.提示:写出两个子系统的传递函数模型,进而求出这两个传递函数模型的能控标准型实现或能观标准型实现,讨论是否能通过子系统的能控标准型实现或能观标准型实现求出原来系统的能控标准型和能观标准型。

(2)Matlab 源程序A=[4 1 -2;1 0 2;1 -1 3];B=[3 1;2 7;5 3];C=[1 2 0;0 1 1];D=[0 0;0 0];[num1,den1]=ss2tf (A,B ,C ,D,1);[num2,den2]=ss2tf(A ,B,C,D,2);(3)实验结果:num1 =0 7。

0000 -19。

0000 —36。

matlabtf状态空间转传递函数

matlabtf状态空间转传递函数

一、概述Matlab是一种流行的数学软件,可以用于数据分析、图形绘制、模拟和建模等多种领域。

在控制系统工程中,建立系统模型是非常重要的一部分,而状态空间和传递函数是两种描述系统动态特性的常用方法。

本文将介绍如何在Matlab中进行状态空间到传递函数的转换,以及该过程的具体步骤和应用。

二、状态空间模型1.状态空间模型的表示状态空间模型是描述线性时不变系统动态特性的一种数学模型。

它通常表示为矩阵形式:x' = Ax + Buy = Cx + Du其中,x是系统的状态变量,u是输入,y是输出,A、B、C、D分别是系统的状态方程和输出方程的系数矩阵。

2.状态空间模型在Matlab中的表示在Matlab中,可以使用矩阵的形式来表示状态空间模型。

可以使用以下代码定义一个状态空间模型:A = [1 2; 3 4];B = [5; 6];C = [7 8];D = 9;sys = ss(A, B, C, D);其中,A、B、C、D分别是状态空间模型的系数矩阵,sys是表示状态空间模型的对象。

三、传递函数模型1.传递函数模型的表示传递函数模型是描述系统输入与输出之间关系的一种数学模型。

它通常表示为分子多项式和分母多项式的比值:G(s) = N(s) / D(s)其中,N(s)和D(s)分别是分子多项式和分母多项式。

2.传递函数模型在Matlab中的表示在Matlab中,可以使用tf函数来定义一个传递函数模型。

可以使用以下代码定义一个传递函数模型:num = [1 2];den = [3 4 5];sys = tf(num, den);其中,num和den分别是传递函数模型的分子多项式和分母多项式,sys是表示传递函数模型的对象。

四、状态空间到传递函数的转换在Matlab中,可以使用tf函数将状态空间模型转换为传递函数模型。

具体步骤如下:1. 使用ss2tf函数将状态空间模型转换为传递函数的分子多项式和分母多项式。

利用MATLAB进行系统模型之间的相互转换

利用MATLAB进行系统模型之间的相互转换

J=[-2+j*4 0 0;0 -2-j*4 0;0 0 -10]; JJ=poly(J) JJ=
1 14 60 200 aa1=JJ(2);aa2=JJ(3);aa3=JJ(4); %*****State feedback gain matrix K can be given by ***** K=[aa3-a3 aa2-a2 aa1-a1]*(inv(P)) K=
%*****Enter matrices A and B*****
A=[0 1 0;0 0 1;-1 -5 -6]; B=[0;0;1];
%***** Define the controllability matrix Q*****
Q=[B A*B A^2*B];
%*****Check the rank of matrix Q*****
利用 MATLAB 求解极点配置问题
用 MATLAB 易于求解极点配置问题。现在我们来 求解系统方程为
x& = Ax + Bu
式中
⎡0 1 0 ⎤
⎡0⎤
A = ⎢⎢0 0 1 ⎥⎥,B = ⎢⎢0⎥⎥
⎢⎣− 1 −5 −6⎥⎦
⎣⎢1 ⎥⎦
采用状态反馈控制u = −Kx ,希望系统的闭环极
点为 s =μi(i=1,2,3),其中
s3
+ 14s2
s +
56s
+ 160
(1.22)
对该系统,有多个(无穷多个)可能的状态空间表达式, 其中一种可能的状态空间表达式为:
⎡ x&1 ⎤ ⎡0 1
⎢ ⎢
x& 2
⎥ ⎥
=
⎢⎢0
0
⎢⎣ x&3 ⎥⎦ ⎢⎣−160

传递函数到状态空间的实现.docx

传递函数到状态空间的实现.docx

实验题目:传递函数到状态空间的实现 课程名称:计算机仿真 一、实验目的1、 理解并掌握传递函数转换为状态空间方程的方法2、 理解状态初值的计算方法二、 实验内容1、 应用MATLAB 编写一个可以实现传递函数到状态空间方程的可控可观规范型的ni 文件。

并用相应例题验证程序的止确性。

2、 完善该程序使具可以用來计算状态初值。

并用相应的例题验证程序 的正确性。

3、 程序中需要考虑分子分母同阶以及分母首系数不为1的两种情况。

三、 报告内容1、 给出m 文件的程序框图,及验证结果,并记录出现的错误,并给出 解决的方案。

若没有得到解决,请说清楚你的问题2、 如呆做了程序的状态初值得求解,请给岀相应的验证结杲,及程序 编写过程中出现的问题,若已经解决,给出貝体方法。

能观标准型为:2、计算状态变量初值:(1)不含u 的导数项时,则冇:A= • 0 0 •■1 0• •0 1■ ■… 0 ■…• • ••B=O' 0 ■ ■~a n~a n-l~a n-l…一如・丄Z?o s n +b 1s n "1+•••+d n ^1s+c n+…+01八一]s+a 八那么其状态空间模型能控标准型为:C=[(b n — bo (z n ) (&n _i — …@1 —加血)] D=b n!1!实验理论传递函数为G(s)=1、 力能观=B 能观D 能观和0)X?(O) 1(0)」 yj(o)(2)系统微分方程不仅包含u 的输入项,而口包含u 的导数项,则:五、程序检验(1)输入一个分母首系数为1月.分子分母不同阶传递函数:2S 3+ 4S 2+ 3S + 5 G = -------------------------------S 4 + 2S 3 + 5S 2 + 4S + 2程序运行结果: 能控标准型:A 二0 1 0 00 1 00 0 0 1-2-4-5-2B =兀 1(0)a n-l an-2 …兀2(0)a n-2%一3…七(0) ■ • = an-3•■ • • • • • • ■^-1(0)■ 1 … _ 兀“(0)..10 (x)n xa x 1 y (o )~Cn-l1 0 y (o )一 Cn-2 • •… •■ y(0) ■ •+ _ Cn-3■ ■ ■…0 严)(0)_C]…0 严(()) ■ ■_ 0nxl /ix(n -1)一 C] w(O)〃(()):M(O)•• • ••• :宀(0)0 ]“"-2)(0)(/?-l)xly(0) y(0)5 342D 二能观标准型:A =0 00-21 00-40 10-50 01-2B =5342C =0 001D 二初值部分:请输入系统输出的初值二[1 ;1;1;1]请输入系统输入的初值二[0; 0; 0] x0 二12831运行结果正确(2)输入一个分母首系数为2 口分子分母同阶传递函数:S 2 + 2S + 3G =2S 2 + 5S + 3程序运行结果: 能控标准型:0. 5000初值部分:请输入系统输出的初值二[1;1] 请输入系统输入的初值二[0]xO 二A =0 -1. 5000 B =0 1 C 二1. 5000 D =0. 5000能观标准型:A 二0 1.0000 B =1. 5000 1.5000 C 二1.5000 D =1.0000 -2. 50001. 5000-1. 5000 -2. 50001. 50003. 50001.0000运行结果正确六.流程图七、实验小结通过木次实验我了解了如何通过matlab的编程来实现传递函数转化为状态空间方程的能控和能观性,并掌握了程序的状态初值的求解。

实验一MATLAB系统地传递函数和状态空间表达式地转换

实验一MATLAB系统地传递函数和状态空间表达式地转换

实验一 MATLAB 系统的传递函数和状态空间表达式的转换一、实验目的1、学习多变量系统状态空间表达式的建立方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法;3、掌握相应的MATLAB 函数。

二、实验原理设系统的模型如式(1.1)所示:⎩⎨⎧+=+=DCx y BuAx x ' x ''R ∈ u ∈R ’’’ y ∈R P (1.1) 其中A 为nXn 维系统矩阵、B 为nXm 维输入矩阵、C 为pXn 维输出矩阵,D 为直接传递函数。

系统的传递函数和状态空间表达式之间的关系如式(1.2)所示G(s)=num(s)/den(s)=C (SI-A)-1 B+D (1.2) 式(1.2)中,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 的值。

例如,若系统有三个输入u 1,u 2,u 3,则iu 必须是1、2、或3,其中1表示u 1,2表示u 2,3表示u 3。

该函数的结果是第iu 个输入到所有输出的传递函数。

三.实验步骤及结果1、应用MATLAB 对下列系统编程,求系统的A 、B 、C 、D 阵,然后验证传递函数是相同的。

现代控制工程MATLAB实验指导书V

现代控制工程MATLAB实验指导书V

昆明理工大学机电学院机械工程专业研究生实验《现代控制工程》MATLA实验指导书昆明理工大学机电工程学院现代控制工程》MATLAB 实验指导书一、MATLAB 简介1 MATLAB 概述MATLAB 是MA Trix LABoratory 的缩写,早期主要用于现代控制中复杂的矩阵、向量的各种运算。

由于MA TLAB 提供了强大的矩阵处理和绘图功能,很多专家因此在自己擅长的领域用它编写了许多专门的MATLAB 工具包( toolbox ),如控制系统工具包( control systems toolbox );系统辨识工具包( system identification toolbox );信号处理工具包( signal processing toolbox );鲁棒控制工具包( robust control toolbox );最优化工具包(optimization toolbox )等等。

由于MA TLAB 功能的不断扩展,所以现在的MATLAB 已不仅仅局限与现代控制系统分析和综合应用,它已是一种包罗众多学科的功能强大的“技术计算语言( TheLanguage of Technical Computing )”。

MathWorks 公司于1992 年推出了具有划时代意义的MATLAB 4.0 版本,并推出了交互式模型输入与仿真系统SIMULINK ,它使得控制系统的仿真与CAD 应用更加方便、快捷,用户可以方便地在计算机上建模和仿真实验。

1997 年MathWorks 推出的MA TLAB 5.0 版允许了更多的数据结构,1999 年初推出的MA TLAB 5.3 版在很多方面又进一步改进了MATLAB 语言的功能。

2000 年底推出的MATLAB 6.0 。

最新版本是MA TLAB7.0 。

MATLAB 以矩阵作为基本编程单元,它提供了各种矩阵的运算与操作,并有较强的绘图功能。

MATLAB 集科学计算、图像处理、声音处理于一身,是一个高度的集成系统,有良好的用户界面,并有良好的帮助功能。

现代控制理论实验 用 MATLAB分析状态空间模型

现代控制理论实验   用 MATLAB分析状态空间模型
a =
x1 x2 x3 x4
x1 0 1 0 0
x2 0 -1 1 0
x3 0 0 -1 1
x4 0 0 0 -3
b =
u1
x1 0
x2 0
x3 0
x4 2
c =
x1 x2 x3 x4
y1 2 0 0 0
d =
u1
y1 0
Continuous-time model.
>> stf=tf(sss)
Transfer function:
4.状态空间模型(SS模型)。
5.模型转换。
6.状态空间表达式的相似变换。
7. 提供直接计算特征值和特征向量的的函数 ,其调用格式为
(1)
(2)
计算广义向量需要符号计算箱的函数,其调用格式为
(1)
(2)
8.通过线性变换可将状态空间表达式变换为约当标准型(包括对角标准型),能空标准型和能观标准型。
提供的函数 可将状态空间表达式变换为对角标准型和约当标准型,但该函数系统含有重特征值时效果不甚理想。
3.熟悉系统的连接,学会用 确立整个系统的状态空间表达式和传递函数。
4.掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准型、能空标准型、能观标准型的方法。学会 进行线性变换。
二、原理简述
1.现行定常系统的数学模型。
2.传递函数模型(TF模型)。
3.零极点增益模型(ZPK模型)。
三、仪器设备
计算机, 软件
四、线路示图
五、内容步骤
1.已知系统的传递函数
(1)建立系统的TF和ZPK模型;
(2)见给定的传递函数用函数ss()转换成状态空间表达式。再将得到的状态空间表达式用函数tf()转换为传递函数并与原函数比较。

系统的传递函数和状态空间表达式的转换

系统的传递函数和状态空间表达式的转换

实验一 系统地传递函数和状态空间表达式地转换
一、实验目地
学习多变量系统状态空间表达式地建立方法、了解系统状态空间表达式与传递函数相互转 换地方法;
通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法.
二、实验要求
学习和了解系统状态方程地建立与传递函数相互转换地方法;
三、实验设备
计算机台
软件套.
四、实验原理说明
设系统地状态空间表达式如式(-)示.
q p n R y R u R x D Cx y Bu Ax x ∈∈∈⎩⎨⎧+=+= (-)
其中为×维系数矩阵、为×维输入矩阵 为×维输出矩阵,为传递阵,一般情况下为.系统地传递函数和状态空间表达式之间地关系如式(-)示.资料个人收集整理,勿做商业用途D B A sI C s G +-=-1)()( (-)
实验步骤
求系统地、、、阵;然后进行验证.
4
32352)(232+++⎥⎦⎤⎢⎣⎡+++=s s s s s s s G 求系统地、、阵
[ ];
[ ];
[ ]()
运行结果:
对上述结果验证:
程序如下:
对上述结果进行验证编程[ ];
[];
[ ];
[];
[ ]()
运行结果如下:
发现结果和给定地传递函数一致.。

用MATLAB分析状态状态空间模型

用MATLAB分析状态状态空间模型
num=6; den=[1 6 11 6]; Gtf=tf(num,den); Gss=ss(Gtf),
a =
x1 x2 x3
x1 -6 -1.375 -0.09375
x2 8 0 0
x3 0 8 0
b =
u1
x1 0.25
x2 0
x3 0
c =
x1 x2 x3
y1 0 0 0.375
d =
u1
y1 0
(3)将给定传递函数转换为对角标准型或约当标准型。再将得到的对角标准型或约当
标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。
(3)A=[0 1 0 0;0 -1 1 0;0 0 -1 1;0 0 0 -3];B=[0 0 0 2]';C=[2 0 0 0];D=0;
sys=ss(A,B,C,D);[V,J]=jordan(A);sys1=ss2ss(sys,inv(V))
x2 0 -1 10
x3 0 0 -1 1
x4 0 0 0 -3
b =
u1
x1 0
x2 0
x3 0
x4 2
c =
x1 x2 x3 x4
y1 2 0 0 0
d =
u1
y1 0
Gtf=tf(Gss)
Transfer function:
4
-------------------------
s^4 + 5 s^3 + 7 s^2 + 3 s
(2)用ss2ss函数进行相似变换将其转换为对角标准型。
>> A=[-6 -1.375 -0.09375;8 0 0;0 8 0];B=[0.25 0 0]';C=[0 0 0.375];D=0;

利用MATLAB进行系统模型之间的相互转换

利用MATLAB进行系统模型之间的相互转换

1 0 − 25.1026
0
⎤⎡ x1 ⎤ ⎡0

1
⎥ ⎥
⎢ ⎢
x
2
⎥ ⎥
+
⎢⎢25.04
⎥⎥u
−5.03247⎥⎦⎢⎣ x3 ⎥⎦ ⎢⎣− 121.005⎥⎦
y = [1
⎡ x1 ⎤
0
0]⎢⎢
x
2
⎥ ⎥
⎢⎣ x3 ⎥⎦
MATLAB Program 1-2 将产生给定系统的传递函数。所得传 递函数为:
μ1 = −2 + j4, μ2 = −2 − j4, μ3 = −10
现求所需的状态反馈增益矩阵 K。
如果在设计状态反馈控制矩阵 K 时采用变换矩阵
P,则必须求特征方程|sI-A|=0 的系数a1、a2、和a3 。
这可通过给计算机输入语句
P = poly(A) 来实现。在计算机屏幕上将显示如下一组系数:
Q = [ B M AB M A2 B ]
⎡a2 a1 1 ⎤ W = ⎢⎢a1 1 0⎥⎥
⎢⎣1 0 0⎥⎦
然后可以很容易地采用 MATLAB 完成 Q 和 W 相乘。
其次,再求期望的特征方程。可定义矩阵 J,使得
⎡μ1 0 0 ⎤ ⎡− 2 + j4 0 0

J = ⎢⎢0
μ2
0
⎥ ⎥
=
⎢ ⎢
0
%*****Enter matrices A and B*****
A=[0 1 0;0 0 1;-1 -5 -6]; B=[0;0;1];
%***** Define the controllability matrix Q*****
Q=[B A*B A^2*B];

传递函数到状态空间的实现

传递函数到状态空间的实现

实验题目:传递函数到状态空间的实现课程名称:计算机仿真一、实验目的1、理解并掌握传递函数转换为状态空间方程的方法2、理解状态初值的计算方法二、实验内容1、应用MATLAB编写一个可以实现传递函数到状态空间方程的可控可观规范型的m文件。

并用相应例题验证程序的正确性。

2、完善该程序使其可以用来计算状态初值。

并用相应的例题验证程序的正确性。

3、程序中需要考虑分子分母同阶以及分母首系数不为1的两种情况。

三、报告内容1、给出m文件的程序框图,及验证结果,并记录出现的错误,并给出解决的方案。

若没有得到解决,请说清楚你的问题2、如果做了程序的状态初值得求解,请给出相应的验证结果,及程序编写过程中出现的问题,若已经解决,给出具体方法。

四、实验理论1、传递函数为那么其状态空间模型能控标准型为:A= B=C= D=能观标准型为:2、计算状态变量初值:(1)不含u 的导数项时,则有:(2)系统微分方程不仅包含u 的输入项,而且包含u 的导数项,则:五、程序检验(1)输入一个分母首系数为1且分子分母不同阶传递函数:程序运行结果: 能控标准型: A =0 1 0 0 0 0 1 0 0 0 0 1 -2 -4 -5 -2 B = 0 0⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-)0()0()0()0()0()0()1(21n n y y y x x x 1)1( )1( 1 1 )0()0()0()0()0(000)0()0()0()0()0(00101011)0()0()0()0()0()2()3(13121221)1()2(133********⨯--⨯⨯⨯⨯⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--------+⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--------------n n n n n n n u u u u u c c c c c c c c y y y y y a a a a a a a x x x x x n n n n n n n n n n n n n n n1C =5 3 4 2D =能观标准型:A =0 0 0 -21 0 0 -40 1 0 -50 0 1 -2B =5342C =0 0 0 1D =初值部分:请输入系统输出的初值=[1;1;1;1] 请输入系统输入的初值=[0;0;0] x0 =12831运行结果正确(2)输入一个分母首系数为2且分子分母同阶传递函数:程序运行结果:能控标准型:A =0 1.0000-1.5000 -2.5000B =1C =1.5000 1.5000D =0.5000能观标准型:A =0 -1.50001.0000 -2.5000B =1.50001.5000C =1.5000 1.5000D =0.5000初值部分:请输入系统输出的初值=[1;1] 请输入系统输入的初值=[0]x0 =3.50001.0000运行结果正确六、流程图七、实验小结通过本次实验我了解了如何通过matlab的编程来实现传递函数转化为状态空间方程的能控和能观性,并掌握了程序的状态初值的求解。

实验1--系统的传递函数阵和状态空间表达式的转换

实验1--系统的传递函数阵和状态空间表达式的转换

实验1 系统的传递函数阵和状态空间表达式的转换一 实验目的1 学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2 通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。

二 实验原理(1) 由传递函数建立状态空间 系统的传递函数为()()()11101110n n n n n n n Y s b s b s b s b G s U s s a s a s a ----++++==++++ ()()1212100121210n n n n n n n n n n N s s s s b b s a s a s a s s D s ββββ--------++++=+=++++++ (i )()()N s D s 只含单实极点时的情况。

设()D s 可分解为: ()()()()12n D s s s s λλλ=---则 ()()()()1n ii iY s N s c U s D s s λ===-∑若令状态变量为 ()1i iX U s s λ=- 其向量-矩阵形式为11122201101n n n x x x x u x x λλλ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦,[]12n n x x y c cc x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(ii )()()N s D s 含重实极点时的情况。

例如()D s 可分解为 ()()()()314n D s s s s λλλ=---则 ()()()()()()131112324111ni i iY s N s c c c c U s D s s s s s λλλλ===+++----∑ 若令状态变量为 ()1i iX U s s λ=- 111111211213113444101001101n n n x x x x x x u x x x x λλλλλ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦ []1112134n y c c c c c x =(2) 状态方程转化为传递函数设系统的模型如式(1-1)示。

线性系统理论matlab应用

线性系统理论matlab应用
从计算结果可以看出,系统能控性矩阵和能观测性矩阵的秩都 是3,为满秩,因此该系统是能控的,也是能观测的。 注:当系统的模型用sys=ss(A,B,C,D)输入以后,也就是当系统模 型用状态空间的形式表示时,我们也可以用Qc=ctrb(sys), Qo=obsv(sys)的形式求出该系统的能控性矩阵和能观测性矩阵。
例2-3 某线性连续系统的状态方程为
x Ax Bu
y Cx Du
其中
0 1 0
A
0
0
1
6 11 6
1 0 B 2 1
0 2
1 1 0 C 2 1 1
D
0 0
0 0
采用零阶保持器将其离散化,设采样周期为0.1秒。求离散化的状态 方程模型。
解 输入以下语句,其中D=zeros(2)表示,将D赋值为2×2维的全零 矩阵。
函数的作用是合并同类项,而ilaplace( )函数的作用是求取拉 普拉斯逆变换,函数det( )的作用是求方阵的行列式。
第15页/共50页
程序执行结果
这表示
(t)
2 2
et et
e2t 2 e2t
et e2t
e
t
2
e2t
2 et e2t
x(t
)
2
et
2
e2t
第16页/共50页
2.2 线性非齐次状态方程的解
第19页/共50页
语句执行的结果为
计算结果表示系统离散化后的 状态方程为
0.9991 0.0984 0.0041
0.1099 0.0047
x(k 1) 0.0246
0.9541
0.0738
x(k)
0.1959
0.0902u(k)

MATLAB求解传递函数到状态方程

MATLAB求解传递函数到状态方程
i=1
x1 x2 ⋮ xn
特点:n 特点:n个子系统互不相关,都是独立 的,即解耦系统
解耦系统图形
例1.6
Y(s) 6 6 = 3 = 2 u (s) s + 6s + 11s + 6 (s + 1)(s + 2)(s + 3)
展开为部分分式 可知: 状态方程
3 3 −6 = + + s +1 s + 2 s + 3
λ 1 = − 1, λ 2 = − 2 , λ 3 = − 3 c 1 = 3, c 2 = − 6, c 3 = 3
ɺ 0 x 1 1 x 1 − 1 0 x = 0 − 2 0 x ቤተ መጻሕፍቲ ባይዱ 1 u ɺ 2 2 x 3 0 0 − 3 x 3 1 ɺ
G(s) =Y(s)/U(s) =
Y (s) Z(s) = ⋅ Z(s) U (s)
(bmS +bm−1S
m
m−1
(S + an−1S
n
n−1
+...+b0)
+...+ a0)
设n>m n=m+1
Z (s) 1 = n U (s) (S + an−1S n−1 + ... + a0 ) S nZ (s) + an−1S n−1Z (s) + ... + a0Z (s) = U (s)
拉氏反变换
y = b n −1 Z n −1 + ⋯ + b 0 Z
= b n −1 x n ... + b 0 x 1

实验一 MATLAB系统的传递函数和状态空间表达式的转换

实验一  MATLAB系统的传递函数和状态空间表达式的转换

实验一 MATLAB 系统的传递函数和状态空间表达式的转换一、实验目的1、学习多变量系统状态空间表达式的建立方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法;3、掌握相应的MATLAB 函数。

二、实验原理设系统的模型如式(1.1)所示:⎩⎨⎧+=+=DCx y BuAx x ' x ''R ∈ u ∈R ’’’ y ∈R P (1.1) 其中A 为nXn 维系统矩阵、B 为nXm 维输入矩阵、C 为pXn 维输出矩阵,D 为直接传递函数。

系统的传递函数和状态空间表达式之间的关系如式(1.2)所示G(s)=num(s)/den(s)=C (SI-A)-1 B+D (1.2) 式(1.2)中,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 的值。

例如,若系统有三个输入u 1,u 2,u 3,则iu 必须是1、2、或3,其中1表示u 1,2表示u 2,3表示u 3。

该函数的结果是第iu 个输入到所有输出的传递函数。

三.实验步骤及结果1、应用MATLAB 对下列系统编程,求系统的A 、B 、C 、D 阵,然后验证传递函数是相同的。

现代控制理论实验报告

现代控制理论实验报告

现代控制理论实验报告学院:机电学院学号:XXXXX姓名:XXXXX班级:XXXX实验一 系统的传递函数阵和状态空间表达式的转换一、实验目的1.熟悉线性系统的数学模型、模型转换。

2.了解MATLAB 中相应的函数 二、实验内容及步骤 1.给定系统的传递函数为1503913.403618)(23++++=s s s s s G 要求(1)将其用Matlab 表达;(2)生成状态空间模型。

2.在Matlab 中建立如下离散系统的传递函数模型y (k + 2) +5y (k +1) +6y (k ) = u (k + 2) + 2u (k +1) +u (k ) 3.在Matlab 中建立如下传递函数阵的Matlab 模型⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+++++++++++=726611632256512)(2322s s s s s s s s s s s s G 4.给定系统的模型为)4.0)(25)(15()2(18)(++++=s s s s s G求(1)将其用Matlab 表达;(2)生成状态空间模型。

5.给定系统的状态方程系数矩阵如下:[]0,360180,001,0100011601384.40==⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=D C B A用Matlab 将其以状态空间模型表示出来。

6.输入零极点函数模型,零点z=1,-2;极点p=-1,2,-3 增益k=1;求相应的传递函数模型、状态空间模型。

三、实验结果及分析 1. 程序代码如下:num = [18 36];den = [1 40.3 391 150]; tf(num,den) ss(tf(num,den))Transfer function:18 s + 36----------------------------s^3 + 40.3 s^2 + 391 s + 150a =x1 x2 x3x1 -40.3 -24.44 -2.344x2 16 0 0x3 0 4 0b =u1x1 1x2 0x3 0c =x1 x2 x3y1 0 1.125 0.5625d =u1y1 0Continuous-time model.2.2.程序代码如下:num=[1 2 1];den=[1 5 6];tf(num,den,-1)运行结果:Transfer function:z^2 + 2 z + 1-------------z^2 + 5 z + 6Sampling time: unspecified3.程序代码如下:num={[1 2 1],[1 5];[2 3],[6]};den={[1 5 6],[1 2];[1 6 11 6],[2 7]};tf(num,den)Transfer function from input 1 to output...s^2 + 2 s + 1#1: -------------s^2 + 5 s + 62 s + 3#2: ----------------------s^3 + 6 s^2 + 11 s + 6Transfer function from input 2 to output...s + 5#1: -----s + 26#2: -------2 s + 74. 程序代码如下:sys=zpk(-2,[-15 -25 -0.4],18)ss(sys)运行结果:1)Zero/pole/gain:18 (s+2)---------------------(s+15) (s+25) (s+0.4)2)a =x1 x2 x3x1 -0.4 1.265 0x2 0 -15 1x3 0 0 -25b =u1x1 0x2 0x3 8c =x1 x2 x3y1 2.846 2.25 0d =u1y1 0Continuous-time model.5.程序代码如下:A=[-40.4 -138 -160;1 0 0;0 1 0];B=[1 0 0]';C=[0 18 360];D=0;ss(A,B,C,D)运行结果:a =x1 x2 x3x1 -40.4 -138 -160x2 1 0 0x3 0 1 0b =u1x1 1x2 0x3 0c =x1 x2 x3y1 0 18 360d =u1y1 0Continuous-time model.6. 程序代码如下:sys=zpk([1 -2],[-1 2 -3],1) tf(sys)ss((sys)运行结果:Zero/pole/gain:(s-1) (s+2)-----------------(s+1) (s+3) (s-2)Transfer function:s^2 + s - 2---------------------s^3 + 2 s^2 - 5 s - 6a =x1 x2 x3x1 -1 2.828 1.414x2 0 2 2x3 0 0 -3b =u1x1 0x2 0x3 2c =x1 x2 x3y1 -0.7071 1 0.5d =u1y1 0Continuous-time model.四、实验总结本次实验主要是熟悉利用matlab建立线性系统数学模型以及模型间的相应转换(如状态空间、传递函数模型等)、并了解matlab中相应函数的使用,如tf、ss、zp2ss、ss2tf等。

系统的传递函数和状态空间表达式的转换

系统的传递函数和状态空间表达式的转换

现代控制理论实验一 系统的传递函数和状态空间表达式的转换一、实验目的1. . 学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2. . 通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。

二、实验要求学习和了解系统状态方程的建立与传递函数相互转换的方法;三、实验设备1. 计算机1台2. MA TLAB6.X 软件1套。

四、实验原理说明设系统的状态空间表达式如式(1-1)示。

q p n R y R u R x D Cx y Bu Ax x ∈∈∈⎩⎨⎧+=+= (1-1)其中A 为n ×n 维系数矩阵、B 为n ×p 维输入矩阵 C 为q ×n 维输出矩阵,D 为传递阵,一般情况下为0。

系统的传递函数和状态空间表达式之间的关系如式(1-2)示。

D B A sI C s G +-=-1)()( (1-2)五、 实验步骤求系统的A 、B 、C 、阵;然后进行验证。

432352)(232+++⎥⎦⎤⎢⎣⎡+++=s s s s s s s G%求系统的A 、B 、C 阵num=[0 0 1 2;0 1 5 3];den=[1 2 3 4];[A B C D]=tf2ss(num,den)运行结果:A =-2 -3 -41 0 00 1 0B =1C =0 1 21 5 3D =对上述结果验证:程序如下:%对上述结果进行验证编程A=[-2 -3 -4;1 0 0;0 1 0];B=[1;0;0];C=[0 1 2;1 5 3];D=[0;0];[num den]=ss2tf(A,B,C,D)运行结果如下:num =0 -0.0000 1.0000 2.00000 1.0000 5.0000 3.0000den =1.00002.00003.00004.0000文,wen,从玄从爻。

天地万物的信息产生出来的现象、纹路、轨迹,描绘出了阴阳二气在事物中的运行轨迹和原理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 MATLAB 系统的传递函数和状态空间表达式的转换一、实验目的1、学习多变量系统状态空间表达式的建立方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法;3、掌握相应的MATLAB 函数。

二、实验原理设系统的模型如式(1.1)所示:⎩⎨⎧+=+=DCx y BuAx x ' x ''R ∈ u ∈R ’’’ y ∈R P (1.1) 其中A 为nXn 维系统矩阵、B 为nXm 维输入矩阵、C 为pXn 维输出矩阵,D 为直接传递函数。

系统的传递函数和状态空间表达式之间的关系如式(1.2)所示G(s)=num(s)/den(s)=C (SI-A)-1 B+D (1.2)式(1.2)中,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 的值。

例如,若系统有三个输入u 1,u 2,u 3,则iu 必须是1、2、或3,其中1表示u 1,2表示u 2,3表示u 3。

该函数的结果是第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 -11 0 0 0 1 0 B = 10 0C =0 2 1 1 5 3D =0A=[-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 0.0000 2.0000 1.00000 1.0000 5.0000 3.0000 den1 =1.0000 4.0000 5.0000 1.00002、给定系统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 = -2.0000 + 1.0000i-2.0000 - 1.0000i>> [A,B,C,D]=tf2ss(num,den)A =6 -11 -61 0 00 1 0B =1C =1 4 5D =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=0.5s时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,0.5)G1 =0.8452 0.2387 0 -0.4773 0.1292 0-0.3326 0.0508 0.2231 H1 = 00.2590>> dstep(G1,H1,C,D,1)>> dstep(G1,H1,C,D,1)>> [G2 H2]=c2d(A,B,1)G2 =0.6004 0.2325 0-0.4651 -0.0972 0-0.3795 -0.0614 0.0498 H2 =00.3167>> dstep(G2,H2,C,D,1)>> [G3 H3]=c2d(A,B,2)[G3 H3]=c2d(A,B,2)G3 =0.2524 0.1170 0 -0.2340 -0.0987 0-0.2182 -0.0853 0.0025 H3 =00.3325>> dstep(G3,H3,C,D,1) 程序和运行结果:Z域仿真图形:连续域仿真图形:程序:G=[0 1;-0.16 1];H=[1;1];C=[1 1];D=0;u=1;dstep(G,H,C,D,u) sysd=ss(G,H,C,D,0.05) a = x1 x2x1 0 1x2 -0.16 1 b = u1x1 1x2 1c = x1 x2y1 1 1d = u1y1 0 Sampling time: 0.05 Discrete-time model.>> sysc=d2c(sysd,'zoh') a = x1 x2x1 -41.43 46.21x2 -7.394 4.779b = u1x1 16.34x2 21.12c = x1 x2y1 1 1d = u1y1 0 Continuous-time model.>> step(sysc);实验3 能控能观判据及稳定性判据一、实验目的1、利用MATLAB分析线性定常及离散系统的可控性与可观性;2、利用MATLAB判断系统的稳定性。

二、实验原理给定系统状态空间描述[A,B,C,D],函数ctrb(A,B)计算能控性判别矩阵;函数obsv(A,C)计算能观测性判别矩阵;函数P=lyap(A,Q)求解李雅普诺夫方程A T P+PA=-Q,Q为正定对称矩阵;函数[D p]=chol(P)可用于判断P矩阵是否正定,p=0,矩阵正定,p为其它值,矩阵非正定。

三、实验步骤及结果1)(2)A=[1 0 0 0;2 -3 0 0;1 0 -2 0;4 -1 -2 -4];B=[0;0;1;2];C=[3 0 1 0];Qc=ctrb(A,B)Qc =0 0 0 00 0 0 01 -2 4 -82 -10 44 -184>> rank(Qc)ans =2>> rank(obsv(A,C))ans =2能控性判别矩阵Qc和能观性判别矩阵都不满秩,故系统既不能控,也不能观。

(3)A=[1 0 0 0;2 -3 0 0;1 0 -2 0;4 -1 -2 -4];B=[0;0;1;2];C=[3 0 1 0];D=[0];[z,p,k]=ss2zp(A,B,C,D,1);Flagz=0;n=length(A);for i=1:nif real(p(i))>0Flagz=1;endend>> disp('系统的零极点模型为');z,p,k系统的零极点模型为z = 1.0000-4.0000-3.0000p =-4-3-21k =1.0000>> if Flagz==1disp('系统不稳定');else disp('系统是稳定的');end系统不稳定>> step(A,B,C,D);时间响应曲线为:实验4 状态反馈及状态观测器的设计一、实验目的1、熟悉状态反馈矩阵的求法;2、熟悉状态观测器设计方法。

二、实验原理MATLAB 软件提供了两个函数acker 和place 来确定极点配置状态反馈控制器的增益矩阵K ,函数acker 是基于求解极点配置问题的艾克曼公式,它只能应用到单输入系统,要配置的闭环极点中可以包括多重极点。

函数place 用于多输入系统,但配置极点不可以包括多重极点。

函数acker 和place 的一般形式是:K=acker(A,B,P)K=place(A,B,P)其中的P 是一个向量,P=[n λλλ,...2,1],n λλλ,...2,1是n 个期望的闭环极点。

得到了所要求得反馈增益矩阵后,可以用命令eig(A-B*K)来检验闭环极点。

由状态反馈极点配置和观测器设计问题直接的对偶关系,观测器设计是状态反馈设计的转置,可以用H=(acker(A ’,C ’,V ’))’来确定一般系统的观测器矩阵,用命令eig(estim(sysold,H))来检验极点配置。

三、实验步骤及结果step(A,B,C,D);num=[0 0 1];den=[1 3 2];[A,B,C,D]=tf2ss(num,den)A =-3 -21 0B =1C = 0 1D = 02、配置后系统的时间响应曲线为:A=[-3 -2;1 0];B=[1;0];C=[0 1];D=0;P=[-1+sqrt(-1);-1-sqrt(-1)];K=acker(A,B,P)K = -1 0>> disp('极点配置后的闭环系统为') 极点配置后的闭环系统为>> sysnew=ss(A-B*K,B,C,D)a = x1 x2x1 -2 -2x2 1 0b = u1x1 1x2 0c = x1 x2y1 0 1d = u1y1 0 Continuous-time model. >> step(sysnew)所以:K=[-1 0]A=[-3 -2;1 0];B=[1;0];C=[0 1];D=0;V=[-3;-3];sysold=ss(A,B,C,D);p=eig(A)p =-2-1Q=obsv(A,C);m=rank(Q);n=length(A);if m==nH=acker(A',C',V')'elsedisp('系统不是状态完全可观测') endH =-23所以:H=[-2 3]。

相关文档
最新文档