05线性定常系统的MATLAB实现
(完整word版)实验二-线性连续定常系统的运动分析
实验二 线性连续定常系统的运动分析一、实验目的1.掌握线性连续定常系统的状态转移矩阵的求法,学会用MATLAB 求解状态转移矩阵。
2.掌握线性连续定常系统的状态方程的求解方法,学会用MATLAB 求解线性连续定常系统的时间响应,并绘制相应的状态响应曲线和输出响应曲线。
二、实验原理1.线性连续定常系统状态转移矩阵的计算设线性连续定常系统的状态空间表达式为'=+⎧⎨=+⎩x Ax Buy Cx Du ,则其状态转移矩阵为()t t e =A Φ从时间角度看,状态转移矩阵使状态向量随着时间的推移不断地作坐标变换,不断地在状态空间中作转移,故称为状态转移矩阵。
对于线性连续定常系统,其状态转移矩阵与其矩阵指数函数相同,可利用直接求解法、拉氏变换法、标准型法和待定系数法等方法对其进行求解。
(1)直接求解法220111()!2!!tk k k kk t e t t t t k k ∞====+++++∑A A I A A A Φ(2)拉氏变换法()11()t t e L s --⎡⎤==-⎣⎦A I A Φ(3)标准型法对系统矩阵A 进行线性非奇异变换,将其变换为对角线矩阵或约旦矩阵1-=A P AP ,其中P 为非奇异变换阵。
状态转移矩阵为1()t t t e e -==A A P P Φ,其中1-=A P AP若A 的特征值12,,,n λλλ两两互异,则A 为对角线矩阵,此时1110()0n t tt t e t e e e λλ--⎡⎤⎢⎥===⎢⎥⎢⎥⎣⎦A A P P P P Φ 若A 有n 重特征值i λ,则A 为约旦矩阵,此时1111(1)!()0i i i i i ttt n t t tte te t e n t e e te e λλλλλ---⎡⎤⎢⎥-⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦A A Q Q Q Q Φ (4)待定系数法根据凯莱-哈密顿(以下简称C-H )定理,线性连续定常系统的状态转移矩阵为110110()()()()()n tj n j n j t ea t a t a t a t ---====+++∑A A I A A Φ其中,011(),(),,()n a t a t a t -为t 的标量函数,可按A 的特征值确定。
用MATLAB编程判定系统的线性特性
3.郭仕剑等,《MATLAB 7.x 数字信号处理》,人民邮电出版社,
2006 年
审查意见
指导教师签字: 教研室主任签字:
年月日
一 需求分析和设计内容
已知一个系统为: y(n) 0.4y(n 1) 0.75y(n 2) 2.2403x(n) 2.4908x(n 1) 2.2403x(n 2) ,输入 3 个不 同的序列 x1 (n) cos(0.2n ) 、 x2 (n) cos(0.6n ) 、 x3 (n) ax1 (n) bx2 (n) 用 MATLAB 编程求出 y1 (n) 、 y2 (n) 和 y3 (n) ,画图并判定 该系统是否是线性系统(a,b 可以为任意实数)。
50
5
10
15
20
25
30
35
40
Weighted Output: a y1[n] + b y2[n]
0
-50 0
5
10
15
20
25
30
35
40
x 10-14
Difference Signal
0.5 0
-0.5
0
5
10
15
20
25
30
35
40
Time index n
Amplitude
结果分析:在 10-14 数量级条件下 y3[n]与 yt[n]二者差别很小,故可以判定为线 性系统。
五仿真结果图
(1) 在权系数为 a=2、b= -3 初始条件 ic=[0 0]时,下图分别为:加权输入得 到的输出 y3[n];在相同权系数下 输出 y1[n]和 y2[n]相加和 yt[n];以 及 y3[n]与 yt[n]的差异比较结果 d[n]
基于MATLAB的线性系统稳定性分析及应用
基于MATLAB的线性系统稳定性分析及应用线性系统稳定性分析及应用是控制理论中的重要内容之一、MATLAB是一种强大的数学计算工具,可以用于线性系统的稳定性分析和应用。
本文将介绍线性系统稳定性分析的基本理论,以及如何使用MATLAB进行稳定性分析和应用。
一、线性系统稳定性分析基本理论1.线性系统稳定性定义:线性系统是指系统的输入和输出满足线性关系的系统。
线性系统稳定性是指当系统的输入有界时,系统输出也是有界的,不会发散或震荡。
2.线性时不变系统:线性时不变系统是指系统的特性不随时间变化而变化,可以通过线性时间不变微分方程来描述。
3.BIBO稳定性:BIBO代表有界输入有界输出,是指当系统的输入信号是有界的时候,系统输出也是有界的。
BIBO稳定性是判断线性系统稳定性的一种方法。
4.线性系统稳定性判据:-零输入稳定性(ZIS):当系统的输入为零时,系统输出是否趋于零,来判断系统的稳定性。
-零状态稳定性(ZSS):当系统的初始状态为零时,系统输出是否趋于零,来判断系统的稳定性。
-有界输入有界输出稳定性(BIBO稳定性):当系统的输入信号是有界的时,系统输出是否有界,来判断系统的稳定性。
二、MATLAB线性系统稳定性分析方法1. 频率域法:通过计算系统的传递函数的频率响应来分析系统的稳定性。
MATLAB提供了函数freqresp来计算系统的频率响应,并可以使用bode函数来绘制频率响应曲线。
2. 极点分析法:通过分析系统的极点位置来判断系统的稳定性。
MATLAB提供了函数pole来计算系统的极点,并可以使用pzmap函数来绘制极点分布图。
3.等价传递函数法:将系统的状态空间方程转化为等价的传递函数形式,然后通过分析传递函数的特性来判断系统的稳定性。
MATLAB提供了ss2tf函数来将状态空间方程转化为传递函数形式。
三、MATLAB线性系统稳定性应用1.控制系统设计:将线性系统的稳定性分析方法应用于控制系统的设计中,可以通过稳定性判据来选择合适的控制策略,以保证系统的稳定性。
实验五用MATLAB判定系统的能控性
实验五用MATLAB判定系统的能控性1、实验设备MATLAB软件2、实验目的①学习线性定常连续系统的状态空间模型的能控性判定、掌握MATLAB中关于该模型判定的主要函数;②通过编程、上机调试,进行模型判定。
3、实验原理说明对于连续的线性定常系统,采用代数判据判定状态能控性需要计算能控性矩阵。
Matlab提供的函数ctrb()可根据给定的系统模型,计算能控性矩阵Qc=[B AB … An-1B]能控性矩阵函数ctrb()的主要调用格式为:Qc = ctrb(A,B)Qc = ctrb(sys)其中,第1种输入格式为直接给定系统矩阵A和输入矩阵B,第2种格式为给定状态空间模型sys。
输出矩阵Qc为计算所得的能控性矩阵。
基于能控性矩阵函数ctrb()及能控性矩阵Qc的秩的计算rank(),就可以进行连续线性定常系统的状态能控性的代数判据判定。
也可用函数Judge_contr()通过调用能控性矩阵函数ctrb()和计算矩阵秩的函数rank(),完成能控性代数判据的判定。
4、实验步骤①根据所给状态空间模型,依据线性定常连续系统状态方程计算能控性矩阵,采用MATLAB 编程。
在MATLAB界面下调试程序,并检查是否运行正确。
习题1:试在Matlab中计算如下系统的状态能控性。
Matlab源程序如下:A=[1 3 2; 0 2 0; 0 1 3];B=[2 1; 1 1; -1 -1];sys=ss(A,B,[],[]);Judge_contr(sys);函数Judge_contr()的源程序为:function Judge_contr(sys)Qc=ctrb(sys);n=size(sys.a);if rank(Qc)==n(1)disp('The system is controlled')elsedisp('The system is not controlled')end表明所判定的系统状态不能控。
实验一 线性连续定常系统模型
实验一 线性连续定常系统模型一、实验目的1.掌握线性连续定常系统的状态空间模型,学会在MATLAB 中建立系统状态空间表达式的方法。
2.熟悉线性连续定常系统的状态空间表达式、传递函数等数学模型的相互转换,学会用MATLAB 实现系统的模型转换。
3.掌握线性连续定常系统的对角线标准形变换和约当标准形变换,学会用MATLAB 进行线性变换。
二、实验原理1.由传递函数建立状态空间表达式设线性连续定常系统的传递函数为()()11101110121210121210()()()n n n n n n n n n n n n nn n n n n b s b s b s b Y s G s U s s a s a s a N s s s s b b s a s a s a s s D s ββββ------------++++==++++++++=+=++++++(1)()()N s D s 只含有两两互异极点时的情况 设()D s 可分解为:()()()()12n D s s p s p s p =+++则()()1()()()ni n n i iN s c Y s G s b b U s D s s p ===+=++∑若令状态变量为1()()i iX s U s s p =+(1,2,,i n = ),则 1()()()ni i n i Y s c X s b U s ==+∑因此,状态变量和输出满足以下关系:1, 1,2,,i i i n i i n i x p x u i n y c x b u ==-+=⎧⎪⎨=+⎪⎩∑ 将上式写成矩阵形式,可得系统的状态空间表达式为:[]111222*********n n n n n n x p x x p x x p x x x y c c c b ux ⎧-⎡⎤⎡⎤⎡⎤⎡⎤⎪⎢⎥⎢⎥⎢⎥⎢⎥-⎪⎢⎥⎢⎥⎢⎥⎢⎥=+⎪⎢⎥⎢⎥⎢⎥⎢⎥⎪⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎪⎣⎦⎣⎦⎣⎦⎨⎡⎤⎪⎢⎥⎪⎢⎥⎪=+⎢⎥⎪⎢⎥⎪⎣⎦⎩(2)()()N s D s 含有重极点时的情况 例如()D s 可分解为:()()()()314n D s s p s p s p =+++则()()()()()()131112324111()ni n n i iY s N s c c c c G s b b U s D s s p s p s p s p ===+=++++++++∑ 若令状态变量为()()1,3111()(), 1,2,3()1, 4,5,,ii ii X s U s i s p X s U s i n s p -+⎧==⎪+⎪⎨⎪==⎪+⎩则1,11,1,11,11,311,14, 1,2, 3, 4,5,,i i i i i i i i ni i i i ni i xp x x i x p x u i x p x u i n y c x c x b u+===-+=⎧⎪=-+=⎪⎪=-+=⎨⎪⎪=++⎪⎩∑∑ ,故系统状态空间表达式为: []11111121121311344411121311121344101001101n n n n n n x p x x p x x p x u x p x x p x x x x y c c c c c b ux x ⎧-⎡⎤⎡⎤⎡⎤⎡⎤⎪⎢⎥⎢⎥⎢⎥⎢⎥-⎪⎢⎥⎢⎥⎢⎥⎢⎥⎪⎢⎥⎢⎥⎢⎥⎢⎥-=+⎪⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦⎨⎡⎤⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩2.状态空间表达式转化为传递函数矩阵设线性连续定常系统的状态空间表达式为n n n r m n m r ⨯⨯⨯⨯=+⎧⎨=+⎩xA xB u yC xD u 其中12n x x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦x 为n 维状态变量,12r u u u ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦u 为r 维输入变量,12m y y y ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦y 为m 维输出变量,n n ⨯A 为n n ⨯维系统矩阵,n r ⨯B 为n r ⨯维输入矩阵,m n ⨯C 为m n ⨯维输出矩阵,m r ⨯D 为m r ⨯维前馈矩阵。
线性系统稳定性分析的MATLAB分析方法PPT课件
第7页/共10页
• 1画波特图
MATL AB文本如下:
G=tf([1280 600],[1 24 1600 300 20]);
margin(G) 运行结果为: 50
Bode Diagram Gm = 29.4 dB (at 39.9 rad/sec) , Pm = 73.7 deg (at 0.899 rad/sec)
0.18 0.125 0.08 0.035 7
-8 -3
-2.5
-2
-1.5
-1
-0.5
80
0.5
Real Axis
第4页/共10页
奈奎斯特图法判断系统稳定性
• 单位负反馈系统的开环传递函数为:
G(s)H (s)
s4
6s3
s2 13s2
9s
2
• MATLAB文本如下:
G=tf([1 2],[1 6 13 9 2]);
• 已知单位负反馈系统的开环传递函数为:
G(s)H (s)
k*(s 3) s(s2 2s 2)
• MATLAB文本如下: G=tf([1 3],[1 2 2 0]); rlocus(G) • 运行结果为:
第3页/共10页
Imaginary Axisຫໍສະໝຸດ 8 0.360.25
Root Locus
8
0.18 0.125 0.08 0.035 7
6 0.5
4
0.75 2
0
-2 0.75
-4 0.5
-6
6
5
4
3
2
System: G Gain: 4.05 1
Pole: -0.00046 + 2.46i
实验1 用MATLAB 分析状态空间模型
结构图。前三种数学模型是用数学表达式表示的,且均有连续和离散两种类型,通常把它们统称为LTI模型。
2、传递函数模型(TF模型)
系统的传递函数模型用MATLAB提供的函数tf( )建立。函数tf ( )不仅能用于建立系统
传递函数模型,也能用于将系统的零极点增益模型和状态空间模型转换为传递函数模型。
G=tf(num,den)返回连续系统的传递函数模型G
Gtf=tf(G)可将任意的LTI模型G转换为传递函数模型Gtf
三、仪器设备
Matlab软件
四、内容步骤与分析讨论
例1-1已知一个系统的传递函数为
模型之间的相互转换。
3、熟悉系统的连接。学会用MATLAB确定整个系统的状态空间表达式和传递函数。
4、掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当
标准型、能控标准型和能观测标准型的方法。学会用MATLAB进行线性变换。
二、原理简述
1、线性定常系统的数学模型
在MATLAB中,线性定常(linear time invariant,简称为LTI)系统可以用4种数学模
实验报告
实验名称实验1用MATLAB分析状态空间模型
系
自动化
专业
班
1204
姓名
学号
授课老师
预定时间
2014、05、21
实验要求
1、掌握线性定常系统的状态空间表达式。学会在MATLAB中建立状态空间模型的方
法。
2、掌握传递函数与状态空间表达式之间相互转换的方法。学会用MATLAB实现不同
实验五用MATLAB判定系统的能控性
实验五用MATLAB判定系统的能控性1、实验设备MATLAB软件2、实验目的①学习线性定常连续系统的状态空间模型的能控性判定、掌握MATLAB中关于该模型判定的主要函数;②通过编程、上机调试,进行模型判定。
3、实验原理说明对于连续的线性定常系统,采用代数判据判定状态能控性需要计算能控性矩阵。
Matlab提供的函数ctrb()可根据给定的系统模型,计算能控性矩阵Qc=[B AB … An-1B]能控性矩阵函数ctrb()的主要调用格式为:Qc = ctrb(A,B)Qc = ctrb(sys)其中,第1种输入格式为直接给定系统矩阵A和输入矩阵B,第2种格式为给定状态空间模型sys。
输出矩阵Qc为计算所得的能控性矩阵。
基于能控性矩阵函数ctrb()及能控性矩阵Qc的秩的计算rank(),就可以进行连续线性定常系统的状态能控性的代数判据判定。
也可用函数Judge_contr()通过调用能控性矩阵函数ctrb()和计算矩阵秩的函数rank(),完成能控性代数判据的判定。
4、实验步骤①根据所给状态空间模型,依据线性定常连续系统状态方程计算能控性矩阵,采用MATLAB 编程。
在MATLAB界面下调试程序,并检查是否运行正确。
习题1:试在Matlab中计算如下系统的状态能控性。
Matlab源程序如下:A=[1 3 2; 0 2 0; 0 1 3];B=[2 1; 1 1; -1 -1];sys=ss(A,B,[],[]);Judge_contr(sys);函数Judge_contr()的源程序为:function Judge_contr(sys)Qc=ctrb(sys);n=size(sys.a);if rank(Qc)==n(1)disp('The system is controlled')elsedisp('The system is not controlled')end表明所判定的系统状态不能控。
实验三:线性控制系统的MATLAB时域分析
实验三:线性控制系统的MATLAB时域分析一、实验目的1、掌握如何使用Matlab进行系统的稳定性分析;2、掌握如何使用Matlab进行系统的时域分析。
二、实验目标(1)、能够掌握线性系统稳定性的MATLAB判定方法;(2)、掌握MATLAB动态性能分析;(3)、掌握二阶系统的时域分析方法。
三、实验内容(一)线性系统稳定性的MATLAB判定方法传递函数32432()72424()()10355024C s s s sG sR s s s s s+++==++++,利用MATLAB命令判断系统的稳定性。
1、基础知识:系统的稳定性,根据系统传递函数(s)极点的实部来进行判断:稳定——全为负,临界稳定——有一个为0,不稳定——有一个为负。
在MA TLAB命令中,roots、tf2zp()、pzmap()指令可以用于判断系统的稳定性。
(1)直接求特征多项式的根A、roots()可以直接求出传递函数的特征方程p=0在复数范围内的解x,该函数的调用格式为:x=roots(p) ,返回值为特征方程的根(即传递函数的极点)。
系统的特征方程式432103550240s s s s++++=,直接在MATLAB的命令窗口中输入:>> p=[1,10,35,50,24];>> x=roots(p)按回车键,在MATLAB命令窗口中观察运算结果,如右图所示,特征根的实部全部为负数,系统稳定。
B、利用tf2zp()命令可以将传递函数的一般形式转换成传递函数的零点、极点及增益。
直接在MATLAB的命令窗口中输入:>> num=[1,7,24,24];den=[1,10,35,50,24];[z,x,k]=tf2zp(num,den);x按回车键,在MATLAB命令窗口中观察运算结果,如右图所示,特征根的实部全部为负数,系统稳定。
(2)零极点分布图pzmap()函数绘制连续系统的零、极点(系统特征方程的根)图,从而分析系统的稳定性,该函数调用格式为:pzmap(num,den)在MATLAB的命令窗口中输入:>> num=[1,7,24,24];den=[1,10,35,50,24];pzmap(num,den)按回车键,在MATLAB图形窗口得出零极点分布图,如右图所示,特征根的实部全部为负数,系统稳定。
MATLAB中的线性系统控制设计
MATLAB中的线性系统控制设计引言:线性系统控制是现代控制理论中的核心内容之一,它在自动控制领域中起着至关重要的作用。
而MATLAB作为一种强大的数值计算和数据可视化工具,对于线性系统控制的设计和分析提供了全面的支持和便利。
本文将介绍MATLAB中的线性系统控制设计方法,从系统建模、控制器设计、仿真分析等方面着重展开。
第一部分:系统建模在进行线性系统控制设计之前,我们首先需要对要控制的系统进行建模。
系统建模是确定系统动力学特性的过程,常见的方法有传递函数法和状态空间法。
在MATLAB中,可以使用Transfer Function Objects(传递函数对象)或State Space Objects(状态空间对象)来方便地进行系统建模。
传递函数法是一种常用的线性系统描述方法,通过将系统的输入-输出关系用有理函数表示。
在MATLAB中,可以使用tf函数来创建传递函数对象,并设置相应的参数,如分子多项式和分母多项式的系数。
例如,我们可以使用以下代码来创建一个传递函数对象G:G = tf([1 2],[1 3 2])同样地,状态空间法是描述线性系统的另一种方法,它以系统的状态变量为基础,并使用矩阵形式的状态方程和输出方程进行描述。
在MATLAB中,可以使用ss函数来创建状态空间对象,并设置相应的参数,如状态矩阵、输入矩阵、输出矩阵等。
例如,我们可以使用以下代码来创建一个状态空间对象sys:A = [0 1; -2 -3];B = [0; 1];C = [1 0];D = 0;sys = ss(A,B,C,D)第二部分:控制器设计控制器是线性系统控制设计中的关键部分,它根据系统的输入和输出信号,通过某种控制算法来调节输出信号使其满足要求。
在MATLAB中,可以使用Control System Toolbox(控制系统工具箱)提供的函数和工具来进行控制器的设计。
常见的控制器设计方法包括比例控制器、积分控制器、微分控制器、PID控制器等。
实验一 MATLAB线性系统建模及分析
实验一 MATLAB 线性系统建模及分析一、实验目的1、 学会在matlab 中建立线性系统的数学模型。
2、 学会线性系统的simulink 模型的建立方法。
3、 学会用MATLAB 求解线性定常系统的输出响应,并绘制相应的曲线。
4、 学会用MATLAB 判断系统的稳定性、计算性能指标、分析系统的动态性能和稳态性能。
5、 学会用Matlab 绘制根轨迹,并由根轨迹分析系统性能。
6、 学会用Matlab 绘制奈奎斯特图和伯德图,并计算开环频域指标,对系统性能进行频域分析。
二、实验环境安装有MATLAB 和simulink 软件的计算机一台三、实验内容3.1 线性系统的数学模型的建立1、传递函数和脉冲传递函数的建立已知系统的传递函数为(a) 3486)(22++++=s s s s s G (b) )3()1(4)(2++=s s s s G (c) 61161)(232+++++=z z z z z z G (1)利用函数tf ( )或函数zpk( )建立上述系统的传递函数。
(2)利用函数zpk( )将多项式比值形式的传递函数转换为零极点形式,利用函数tf ( )将零极点形式的传递函数转换为多项式比值形式。
2、组合系统的传递函数已知两个子系统的传递函数为441)(21+++=ssssG21()1G ss=+建立两个子系统的传递函数模型。
求它们串联、并联、反馈连接时, 组合系统的传递函数模型。
3、 simulink模型的建立已知系统的开环传递函数为2()(4)G ss s=+建立单位负反馈系统的simulink模型,其中输入信号为单位阶跃函数,输出通过示波器观测。
仿真,并记录simulink模型和响应曲线。
系统的建模图形如下点击运行,后点击示波器,系统的响应曲线如下2.2 线性系统的时域分析1、已知系统的传递函数为326()4106G ss s s=+++(1)当初始状态为零,输入为时,用函数step( )求解系统的输出响应的数值解(记录写出前十个值),并绘制系统的输出响应曲线。
MATLAB线性系统
y (t ) Cx(t )
利用状态反馈U(t)= - KX(t)+r(t) 其中K为状态反馈 矩阵, r(t)为参考输入,
r
u
B
x
A
x
C
y
k
(t ) ( A BK )x(t ) Br (t ) 使得系统闭环方程为: x y (C DK )x(t )
几个常用命令 M=ctrb(A,B) 系统的能控矩阵 M=[B AB A2B … An-1B] rank(M) 得到矩阵的秩,M的秩为n,则能控 N=obsv(A,C) 求取系统的能观矩阵 N=[C CA CA2 … CAn-1]T, N的秩为n,则能观 二、单输入系统的极点配置 k=acker(A,B,p) 对于期望极点p,求出系统的状态反 馈增益阵k
传递函数使用分子、分母的多项式表示,即num和 den两个向量。
同样可用SYS = TF(NUM,DEN)建立tf模型。
num=[1 2 3]; den=[2 2 3 4]; yy=tf(num,den)
Transfer function: s^2 + 2 s + 3 ----------------------2 s^3 + 2 s^2 + 3 s + 4
f1=ss(a,b,c,d,0.1)
a = x1 x2 x1 1 2 x2 3 4 c = x1 x2 y1 1 1 b = u1 x1 0 x2 1 d = u1 y1 1
x2 x1 1 2 x2 3 4 c = x1 x2 y1 1 1
b = u1 x1 0 x2 1 d = u1 y1 1
Continuous-time model.
step(sys,t) [y,t,x]=step(sys)
线控实验--建立线性定常系统模型
信息工程学院自动化建立线性定常系统模型一、实验仪器PC 计算机,MATLAB 软件,控制理论实验台二、实验目的(1)学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法。
(2)通过编程、上机调试,掌握传递函数与状态空间表达式之间相互转换的方法系统状态空间表达式与传递函数相互转换方法。
(3)掌握状态空间表达式的相似变换。
掌握将状态空间表达式转换为对角标准型、约当标准型、能控标准型和能观测标准型的方法。
学会用MATLAB 进行线性变换。
三、实验原理及相关基础(1)参考教材P56~59“2.7 用MATLAB 分析状态空间模型”(2)MATLAB 现代控制理论仿真实验基础(3)控制理论实验台使用指导四、实验内容(1)已知系统的传递函数信息工程学院自动化(1)建立系统的传递函数模型(TF())或零极点增益模型(ZPK 模型)。
TF:a.代码:num=[1,5,8];den=[1,2,6,3,9];A=tf(num,den)B.代码:num=[1,5,3];den=[1,2,3,4];A=tf(num,den)(2)根据给定的传递函数建立状态空间模型(SS()模型)。
再将得到的状态空间表达式用函数 tf( )转换为传递函数,并与原传递函数进行比较。
代码:num=[1,5,8];den=[1,2,6,3,9];G=tf(num,den);G1=ss(G)信息工程学院自动化再将得到的状态空间表达式用函数tf( )转换为传递函数,并与原传递函数进行比较:B:信息工程学院自动化再将得到的状态空间表达式用函数tf( )转换为传递函数,并与原传递函数进行比较:状态空间表达式用函数 tf( )转换为传递函数与原传递函数相同(3)将给定传递函数用函数转换为对角标准型或约当标准型(jordants( ))。
再将得到的对角标准型或约当标准型用函数转换为传递函数(tf( )),并与原传递函数进行比较。
自动控制实验五线性定常系统的串联校正
自动控制实验实验五线性定常系统的串联校正姓名: 学号: 班级:实验指导老师: __________________ 成绩: ____________________一、实验目的1 对系统性能进行分析, 选择合适的校正方式, 设计校正器模型。
2 通过仿真实验, 理解和验证所加校正装置的结构、特性和对系统性能的影响;3 通过模拟实验部分进一步理解和验证设计和仿真的结果, 进而掌握对系统的实时调试技术。
二、实验内容1 对未加校正装置时系统的性能进行分析, 根据性能要求进行校正器模型的理论设计2 Matlab仿真(1)观察校正前系统的时域、频域性能。
(2)观察校正后系统的时域、频域性能。
(3)对比1.2中结果分析校正器性能, 在保证校正效果的前提下并根据实验台实际参数进行校正器模型调整。
3 模拟实验。
(1)搭接校正前的系统模拟电路。
(2)搭接校正器模拟电路(3)验证是否满足设计要求。
三、实验数据或曲线1 MATLAB仿真部分选取实验题目三系统模型g0=tf([20],[1 1 0]);Bode(g0)gf=feedback(g0,1);step(gf)gc=tf([0.38 1],[0.05 1]);g=g0*gc;Bode(g0,g)gcf=feedback(g,1);step(gcf)校正前系统伯德图由图可知系统的性能不满足性能要求, 考虑采用串联超前校正。
阶跃响应曲线校正后系统的伯德图校正器模型(0.4s+1)/(0.05s+1),由图知系统的性能均满足性能要求, 校正器模型合理。
校正后闭环系统的阶跃响应曲线从校正前后系统的阶跃响应曲线上显示的参数可见, 系统的性能得到了改善。
2 模拟部分校正前系统的阶跃响应曲线校正后系统的阶跃响应曲线四、实验结论控制系统设计的思路之一就是在原系统特性的基础上, 对原特性加以校正, 使之达到要求的性能指标。
常用的串联校正装置有超前校正、滞后校正和超前滞后校正装置。
线性系统理论matlab应用
例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实现线性系统的时域分析线性系统是一种重要的数学模型,用于描述许多自然和工程系统的行为。
在实际应用中,对线性系统进行时域分析是非常重要的,以了解系统的稳定性、响应和性能特性。
MATLAB是一种功能强大的数学软件,被广泛用于线性系统的建模和分析。
首先,我们将介绍线性系统的时域分析的基本概念和方法。
然后,我们将学习如何使用MATLAB进行线性系统的时域分析,并通过具体的例子来演示。
时域分析是研究系统在时间上的响应,主要包括系统的因果性、稳定性、阶数、零极点分布、阻尼特性和幅频特性等。
其中,系统的因果性表示系统的输出只依赖于输入的过去和现在,与未来的输入无关;系统的稳定性表示系统的输出有界,不会无限增长或发散;系统的阶数表示系统差分方程的最高阶导数的次数。
在MATLAB中,线性系统可以用传输函数、状态空间或差分方程的形式表示。
传输函数是输入输出之间的比例关系,常用于分析系统的频率特性;状态空间是通过一组状态变量和状态方程描述系统的,可以用于分析系统的稳定性和阻尼特性;差分方程是通过相邻时刻的输入和输出之间的关系来描述系统的,可以用于分析系统的因果性和稳定性。
下面,我们以传输函数为例,介绍如何在MATLAB中进行线性系统的时域分析。
首先,我们需要定义传输函数。
MATLAB提供了tf函数来定义传输函数,其语法为:G = tf(num, den),其中num是传输函数的分子多项式的系数,den是传输函数的分母多项式的系数。
接下来,我们可以使用MATLAB中提供的各种函数和命令来进行时域分析。
例如,可以使用step函数来绘制系统的阶跃响应曲线,语法为:step(G);可以使用impulse函数来绘制系统的冲激响应曲线,语法为:impulse(G);可以使用initial函数来绘制系统的零状态响应曲线,语法为:initial(G, x0),其中x0是系统的初始状态。
此外,还可以使用MATLAB中的函数和命令来计算系统的阶数、零极点分布、频率响应等。
自控原理MATLAB线性系统稳定性分析实验四
MATLAB线性系统稳定性分析实验四
实验目的
1、了解MATLAB的Simulink仿真环境
2、掌握了解MATLAB的Simulink仿真环境的基本操作
3、学习用了解MATLAB的Simulink仿真环境查看建立的模型的输出,并尝试修改模型
一、实验步骤
已知结构框图如下:
用MATLAB的Simulink仿真环境构造系统,看示波器输出,并在系统中加入PID算法,使系统更加稳、快、准。
二、实验结果
(1)在没加入PID调节环节之前,系统运行结果不稳定:
(2)加入比例环节之后,且比例系数为1.5时:
振幅越来越大
(3)修改比例系数为0.5时:
输出逐渐趋于平稳,但调节时间太长;(4)再加入微分算法:
系统输出最终趋于平稳,但调节时间太长,且有超调;(5)调节微分系数为3:
系统调节时间缩短,但仍然有超调
(6)加入积分环节,且系数为0.5时:
此时系统反应达到稳快准的要求
三、小结:
初始系统不稳定,加上比例调节之后,系统幅度变小,最终趋于平稳;在比例环节加上微分环节后,系统快速性变好;加上微分环节之后,系统达到稳快准。
MATLAB实验报告——运用MATLAB求解和分析线性时不变系统资料
MATLAB实验报告课程名称 MATLAB程序设计实验日期 2015 年 05 月 11 日学生姓名学号班级实验名称运用MATLAB求解和分析线性时不变系统实验仪器MATLAB7.1 Windows XP实验目的1.熟悉线性时不变LTI系统在典型激励信号下的响应及其特征。
2.掌握线性LTI系统单位冲激响应的求解方法。
3.熟悉MATLAB的相关函数的调用格式和作用。
4.会用MATLAB对系统进行时域分析。
实验基本原理1.Impulse函数功能:计算并画出系统的冲激响应。
调用格式: Impulse(sys):其中sys 可以是利用命令tf,zpk或ss建立的系统函数。
Impulse(sys,t)计算并画出系统在向量t定义的时间内的冲激响应。
Y=impulse(sys,t):保存系统的输出值。
2.Step函数功能:计算并画出系统的阶跃响应曲线。
调用格式: Step(sys):其中sys可以是利用命令tf,zpk,或ss 建立的系统。
Step(sys,t):计算并画出系统在向量t定义的时间内的阶跃响应。
3.Lsim函数功能:计算并画出系统在任意输入下的零状态响应。
调用格式: Lsim(sys,x,t):其中sys可以是利用命令tf,zpk或ss建立的系统函数,x是系统的输入,t定义的是时间范围。
Lsim(sys,x,t,zi):计算出系统在任意输入和零状态下的全响应,sys必须是状态空间形式的系统函数,zi是系统的原始状态。
4.roots函数功能:计算齐次多项式的根。
调用格式: r=roots(b):计算多项式b的根,r为多项式的根。
5.impz函数功能: 求离散系统单位脉冲响应,并绘制其时域波形。
调用格式:impz(b ,a) :以默认方式绘出向量a , b 定义的离散系统的单位脉冲响应的离散时域波形.impz(b ,a ,n) :绘出由向量a , b定义的离散系统在0—n (n必须为整数)离散时间范围内的单位序列响应的时域波形.impz(b ,a ,n1:n2) : 绘出由向量a , b定义的离散系统在n1—n2(n1 , n2必须为整数,且n1<n2)离散时间范围内的单位序列响应的时域波形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C s bm s bm1 s ... b0 nums Gs n n 1 Rs an s an1 s ... a0 dens
m m 1
2
C s bm s m bm1 s m1 ... b0 nums Gs n n 1 Rs an s an1 s ... a0 dens
10
例:已知系统的传递函数为
2s 2 3s 4 Gs 6 3s 4s 5 5s 4 6s 3 7 s 2 8s 9 根据传递函数求解零点、极点和增益值。
num=[2,3,4];
den=[3,4,5,6,7,8,9]; [z,p,k]=tf2zp(num,den)
试用MATLAB创建系统的零极点增益模型。 z=[-1,-2];
p=[-2-i,-2+i,-3];
k=1; sys=zpk(z,p,k)
8
三、两种数学模型之间的转换
这两种数学模型之间是可以相互转换的,其调用格式分别为:
tf (sys) ——将零极点增益模型转换成传递函数模型; zpk (sys)——将传递函数模型转换成零极点增益模型。
三、连续系统单位斜坡和单位加速度响应
MATLAB中,没有求斜坡响应和加速度响应的特定函数, 根据闭环传递函数的定义:
C s s Rs 1 1 对于单位阶跃信号有: Rs C s s Rs s s s
对于单位斜坡信号有: 对于单位加速度信号有:
j 1
MATLAB中,连续系统可以直接用零点向量z,极点向量p 和增益量k来表示系统 z [ z1 , z 2 ,..., z m ] p [ p1 , p 2 ,..., p n ] * k [ K ] p1 , p 2 ,..., p n ] * k [ K ]
MATLAB中,用函数命令zpk ( )来建立控制系统的零极点 增益模型,其调用格式为: sys=zpk (z, p, k):用来建立连续系统的零极点增益模型; 若已知系统零极点增益模型传递函数sys,其零点与极点可 分别由sys.z{1}与sys.p{1}指令求出。
7
已知系统传递函数为 例:
Gs ( s 1)(s 2) ( s 2 i )(s 2 i)(s 3)
由此可以看出:可以将系统闭环传递函数除以拉氏算子 s (s2 ) ,再使用step函数就求得系统的单位斜坡响应(单位
加速度响应)。在MATLAB中,只需在系统闭环传递函数 分母多项式向量最末位补上一个(两个)“0”即可。
24
例: 已知单位负反馈系统的前向通道的传递函数为:
80 ,试作出其单位斜坡响应曲线 G s 2 s 2s 和单位加速度响应曲线。
第二章 基于MATLAB的线性连续系统分析
2.1 连续系统数学模型的Matlab实现 2.2 基于Matlab的线性系统时域分析 2.3 基于Matlab的线性系统频域分析
1
2.1 连续系统数学模型的Matlab实现
数学模型是控制系统仿真的基础。在MATLAB中, 用来表示线性连续控制系统的数学模型有:分子分母 多项式模型,零极点增益模型与Simulink结构图。 一、分子分母多项式模型 对于单输入单输出(SISO) 连续线性定常系统,其传递函数 为:
2 8 s 24s 16 例:已知系统的传递函数为: Gs s 4 12s 3 47s 2 60s 试求其等效的零极点增益模型。
sys2 = zpk (sys1)
9
[z, p, k] = tf2zp (num,den),其中num和den分别为系统传 递函数的分子与分母多项式系数向量, z, p, k分别为系统 对应的零点向量、极点向量和增益。 [num, den] = zp2tf (z, p, k),其中z, p, k分别为系统的零点 向量、极点向量和增益。 num和den分别为系统对应的传 递函数模型分子与分母多项式系数向量。 注意: z, p必须为列向量!
1 1 1 1 Rs 2 C s s Rs s 2 s s s s s
1 1 1 1 Rs 3 C s s Rs s 3 s 223 s s s s
在MATLAB中,用tf( )命令来建立控制系统的分子分母多 项式模型。其调用格式为: sys=tf (num, den):返回连续系统的传递函数模型,num与 den分别为系统的分子与分母多项式系数向量; 若已知系统传递函数G,其分子与分母多项式系数向量可 分别由G.num{1}与G.den{1}指令求出。
1 1 s2 1 s 1 G1 s ,G2 s , G3 s 2 , G3 s s 10 s 1 s6 s 4s 4 1 H 1 s 1, H 2 s 2, H 3 s s2
H 2 ( s) R( s )
- -
G7=feedback(series(G6,G1),H3)
19
2.2 基于Matlab的线性系统时域分析
2.2.1 线性系统时域响应
一、连续系统单位阶跃响应 在MATLAB中,用step ( )命令求连续系统的单位阶跃响 应,其调用格式为: step (sys , t) ,函数在当前图形窗口中直接绘制出系统的 阶跃响应曲线。式中sys是由tf或zpk函数建立的系统模型; t 可以指定为一个仿真终止时间,此时t为标量;也可将其 设置为一个时间矢量(用t=0:dt:Tfinal的形式)。
[y,t]=step (sys),不绘制阶跃响应曲线,返回阶跃响应幅 值y和时间t。
20
例: 已知单位负反馈系统的前向通道的传递函数为:
80 ,试作出其单位阶跃响应曲线。 G s 2 s 2s
num=80;
den=[1,2,0];
sys=tf (num, den); closys=feedback(sys,1); step (closys,1:0.1:10)
16
例: G1=tf(1,[1,2,1]);
G2=tf(1,1); disp('负反馈系统闭环传递函数为:') G=feedback(G1,G2) disp('正反馈系统闭环传递函数为:') G=feedback(G1,G2,1)
17
例:系统动态结构图如下图所示,试求系统传递函数
C(s)/R(s),其中
num=80; den=[1,2,0];
sys=tf (num, den);
closys=feedback(sys,1);
sys1=closys*tf(1,[1,0]);step (sys1) ,figure(2);
sys2=closys*tf(1,[1,0,0]);step (sys2)
25
四、连续系统任意输入下的时间响应
G1 ( s )
G2 ( s )
-
G3 ( s )
G4 ( s )
C ( s)
H 3 ( s)
H1 ( s)
18
G1=tf(1,[1,10]);
G2=tf(1,[1,1]);
G3=tf([1,0,1],[1,4,4]); G4=tf([1,1],[1,6]); H1=tf(1,1); H2=tf(1,1); H3=tf(1,[1,2]); G5=feedback(series(G3,G4),H3); G6=feedback(series(G5,G2),H2/G4);
4
已知两系统传递函数分别为 例:
8s 2 24s 16 6(s 5) G1 s 4 ,G2 s 2 3 2 s 12s 47s 60s (s 3s 1) 2 (s 6)
试用MATLAB创建系统分子分母多项式模型。
num1=[8,24,16];
12
已知两系统传递函数分别为 例:
1 1 G1 s 2 ,G2 s s 1 s 2s 1
求两系统串联后的系统模型。 G1=tf(1,[1,2,1]);
G2=tf(1,[1,1]);
G=G1*G2
G=series(G1,G2)
13
2、并联环节化简
在MATLAB中,当n个模型并联时,可用 sys=sys1+sys2+…+sysn 来求并联后的系统模型。 还可用命令parallel ( )函数来实现两个系统模型的串 联,其调用格式为: sys=parallel (sys1, sys2)。
1 1 1 1 Rs 2 C s s Rs s 2 s s s s s 1 1 1 1 Rs 3 C s s Rs s 3 s 2 s s s s
14
已知两系统传递函数分别为 例:
1 1 G1 s 2 ,G2 s s 1 s 2s 1
求两系统并联联后的系统模型。 G1=tf(1,[1,2,1]);
G2=tf(1,[1,1]);
G=G1+G2
G= parallel(G1,G2)
15
3、反馈环节化简 MATLAB中,用函数命令feedback ( )来求反馈连接下的系 统模型,其调用格式为: sys= feedback (sys1, sys2, sign)—— sys1为前向通道传递函 数模型,sys2为反馈环节模型,sign为反馈极性,取-1时, 为负反馈;取1时,表示正反馈;默认值为-1。
11
四、控制系统结构图化简 控制系统框图的化简主要包括串联环节、并联环节和反 馈环节的化简。 1、串联环节化简 在MATLAB中,当n个模型串联时,可用 sys=sys1*sys2*…*sysn 来求串联后的系统模型。 还可用命令series( )函数来实现两个系统模型的串联, 其调用格式为: sys=series (sys1, sys2)。