实验四 控制系统数学建模与稳定性分析

时间:2024.5.9

实验四  控制系统数学建模与稳定性分析

一、实验目的

继续熟悉 MATLAB 的实验环境。

掌握MATLAB建立系统数学模型的方法。

掌握MATLAB判断系统稳定性的方法。

二、实验内容

(注:实验报告只提交第2题)

1.复习并验证相关示例。

(1)系统数学模型的建立

包括多项式模型(Transfer Function , TF),零极点增益模型 (Zero-Pole-Gain, ZPK) ,状态空间模型( State-space,SS );

(2)模型间的相互转换

系统多项式模型到零极点模型(tf2zp),零极点增益模型到多项式模型(zp2tf) , 状态空间模型与多项式模型和零极点模型之间的转换(tf2ss,ss2tf,zp2ss …);

(3)模型的连接

模型串联(series),模型并联(parallel),反馈连接(feedback)

(4)系统稳定性相关MATLAB函数(roots,eig,pzmap,pole,…)

2.完成以下实验。

(1)分别用 2 种方法建立系统模型的零极点模型和多项式传递函数模型。

(2)对于系统和系统,用不同方法求其串联和并联结果。

(3)对于装置,控制器为,建立负反馈连接。求其结果。

(4)对于系统,其闭环传递函数为,判定其稳定性。

三、实验要求

1. 验证课内示例,准确理解系统数学模型不同形式的含义及各种函数的使用方法。

2.借助帮助文档,准确理解MATLAB系统稳定判定函数的用法。

3. 认真编写实验内容之第2题的程序并做详细注释,记录实验结果。

四、实验思考

1 、如何灵活选择系统建模和连接化简函数的各种不同调用方法。

2 、复杂系统如何用 MATLAB 建立系统模型,如何对结构图进行化简。

3 、判定系统稳定性有哪些方法?各有何特点?

(1), >> num=([10 10]);

>> den=([1 2]);

>> sys1=tf(num,den)

Transfer function:

10 s + 10

---------

  s + 2

>> num=([0 1]);

>> den=([1 5]);

>> sys2=tf(num,den)

Transfer function:

  1

-----

s + 5

>> num=([0 1]);

>> den=([1 10]);

>> sys3=tf(num,den)

Transfer function:

  1

------

s + 10

>> sys4=sys1*sys2*sys3

Transfer function:

        10 s + 10

-------------------------

s^3 + 17 s^2 + 80 s + 100

>>  sys6=tf(sys4)

Transfer function:

        10 s + 10

-------------------------

s^3 + 17 s^2 + 80 s + 100

(2) >> num=([0 20]);

>> den=([0.5 1]);

>> sys1=tf(num,den)

Transfer function:

   20

---------

0.5 s + 1

>> num=([0.2 0.2]);

>> den=([0.25 1 0]);

>> sys2=tf(num,den)

Transfer function:

0.2 s + 0.2

------------

0.25 s^2 + s

>> sys3=series(sys1,sys2)

Transfer function:

        4 s + 4

------------------------

0.125 s^3 + 0.75 s^2 + s

>> sys3=parallel(sys1,sys2)

Transfer function:

 5.1 s^2 + 20.3 s + 0.2

------------------------

0.125 s^3 + 0.75 s^2 + s

>> sys4=sys1*sys2

Transfer function:

        4 s + 4

------------------------

0.125 s^3 + 0.75 s^2 + s

>> sys4=sys1+sys2

Transfer function:

 5.1 s^2 + 20.3 s + 0.2

------------------------

0.125 s^3 + 0.75 s^2 + s

>> num=([0 20]);

den=([0.5 1]);

sys1=tf(num,den)

Transfer function:

   20

---------

0.5 s + 1

num=([0.2 0.2]);

den=([0.25 1 0]);

sys2=tf(num,den)

Transfer function:

0.2 s + 0.2

------------

0.25 s^2 + s

(3) >> num=([2 5 1]);

>> den=([1 2 3 ]);

>> sys1=tf(num,den)

Transfer function:

2 s^2 + 5 s + 1

---------------

 s^2 + 2 s + 3

>> num=([5 10]);

>> den=([1 10]);

>> sys2=tf(num,den)

Transfer function:

5 s + 10

--------

 s + 10

>> sys3=feedback(sys1,sys2)

Transfer function:

2 s^3 + 25 s^2 + 51 s + 10

---------------------------

11 s^3 + 57 s^2 + 78 s + 4

(4)>> num=([4.8 28.8 24]);

>> den=([1 9 26 24]);

>> sys1=tf(num,den)

Transfer function:

 4.8 s^2 + 28.8 s + 24

-----------------------

s^3 + 9 s^2 + 26 s + 24

实验心得:此次试验为在MATLAB中控制系统数学建模并且判断系统稳定       性。期间,对系统稳定性相关MATLAB函数(roots,eig,pzmap,pole,…)不是很理解。经过最后看书和HELP帮助,才会用了。在MATLAB中应用多种方法达到一种效果,当每一种方法成功之后,会给我最大的快乐和喜悦。


第二篇:实验四 控制系统的稳定性分析


西京学院实验教学教案

实验课程:现代控制理论基础   课序: 4   教室:工程舫0B-14

实验日期:20##-6-346      教师:万少松

一、实验名称系统的稳定性及极点配置

二、实验目的

1.巩固控制系统稳定性等基础知识;

2.掌握利用系统特征根判断系统稳定性的方法;

3.掌握利用李雅普诺夫第二法判断系统的稳定性的方法;

4. 掌握利用状态反馈完成系统的极点配置;

5.通过Matlab编程,上机调试,掌握和验证所学控制系统的基本理论。

三、实验所需设备及应用软件

四、实验内容

1.         利用特征根判断稳定性;

2.         利用李雅普诺夫第二法判断系统的稳定性;

3.         状态反馈的极点配置;

五、实验方法及步骤

1.打开计算机,运行MATLAB软件。

2.将实验内容写入程序编辑窗口并运行。

3.分析结果,写出实验报告。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

一、           利用特征根判断稳定性

用matlab求取一个系统的特征根,可以有许多方法,如等。下面举例说明。

【例题1】已知一个系统传递函数为,试不同的方法分析闭环系统的稳定性。

解:

num=[1,3]

den=conv([1,2,2],conv([1,6],[1,5]))

sys=tf(num,den)

(1)

p=eig(sys)

显示如下:

p =

  -6.0000         

  -5.0000         

  -1.0000 + 1.0000i

  -1.0000 - 1.0000i

所有的根都具有负的实部,所以系统稳定。

(2)

   pzmap(sys)

   从绘出的零极点图可看见,系统的零极点都位于左半平面,系统稳定。

(3)

[z,p,k]=tf2zp(num,den)

(4)

roots(den)

【例题2】已知线性定常连续系统的状态方程为

试用特征值判据判断系统的稳定性。

解:

A=[0,1;2,-1]

eig(A)

显示ans =

     1

-2

有一个正根,所以系统不稳定。

二、           利用李雅普诺夫第二法判断系统的稳定性

1、李雅普诺夫判据:线性定常连续系统

在平衡状态处,渐进稳定的充要条件是:对任意给定的一个正定对称矩阵,如下形式的李雅普诺夫矩阵方程

存在唯一正定对称矩阵解

2、推论:如果矩阵取为半正定,且为完全能观测,则为渐进稳定的充分必要条件是上述李雅普诺夫矩阵方程有唯一正定对称解

3、标量函数是这个系统的一个二次型形式的李雅普诺夫函数。

4、Matlab实现

matlab提供了李雅普诺夫方程的求解函数,其调用格式为

要判定系统是否稳定,需要做以下工作:

① 求出P,并验证P是正定的;

② 求出V(x),并判验证V(x) 是正定的;

③ 结论:系统是稳定的。

【例题3】已知单位负反馈系统的前向通道分别是三个环节串联而成,这三个环节分别是两个惯性环节和一个积分环节:

试分析系统的李雅普诺夫稳定性。

解:研究系统的稳定性时,可以令给定输入

(1)、求出闭环系统的传递函数

G1=tf(5,[1,1])

G2=tf(1,[1,2])

G3=tf(1,[1,0])

Gtf=feedback(G1*G2*G3,1)

%运行结果如下:

%Transfer function:

%          5

%---------------------

%s^3 + 3 s^2 + 2 s – 5

%下面建立ss模型

num=5

den=[1,3,2,-5]

[A,B,C,D]=tf2ss(num,den)  %也可以这样:[A,B,C,D]=tf2ss(Gtf.num{1},Gtf.den{1})

%选择半正定矩阵,且为完全能观测

%能观测性验证:

Q=[0,0,0;0,0,0;0,0,1]

Q1=Q^(1/2)

rank(ctrb(A,Q1))

%运行结果:

%ans =     3

%所以为完全能观测

%计算李雅普诺夫函数的解,并判断是否正定

    P=lyap(A,Q)

    det1=det(P(1,1))

    det2=det(P(2,2))

    detp=det(P)

%程序运行结果:

%P =

%   12.5000    0.0000   -7.5000

%    0.0000    7.5000   -0.5000

%   -7.5000   -0.5000    4.7000

%det1 =

%   12.5000

%det2 =

%    7.5000

%detp =

%   15.6250

%说明P阵是对称正定的;

%又: 是半正定的;是负定的,所以也是正定的,%故得结论:该系统是在平衡点是稳定的。

【例题4】已知系统的状态方程为:

试分析系统的稳定性。

解:

A=[2.25,-5,-1.25,-0.5;2.25,-4.25,-1.25,-0.25;0.25,-0.5,-1.25,-1;1.25,-1.75,-0.25,-0.75]

Q=diag([1,1,1,1])

P=lyap(A,Q)

det1=det(P(1,1))

det1=det(P(2,2))

det1=det(P(3,3))

det1=det(P)

可见Q,P阵都是正定的,系统李雅普诺夫稳定

三、               状态反馈的极点配置

闭环系统性能与闭环极点位置密切相关。经典控制理论经常利用串联、并联校正装置及调整开环增益使系统具有希望的闭环极点位置;现代控制理论利用状态变量揭示系统内部特性以后,建立了利用状态反馈这一新方式来配置极点,显出了更多的优越性。

 给定一个连续时间系统的状态空间模型:

    (4.1)

 其中:是系统的n维状态向量,m维控制输入,A和B分别是适当维数的已知常数矩阵。在状态反馈

     (4.2)

的作用下,闭环系统的状态方程是

   (4.3)

由线性时不变系统的稳定性分析可知,闭环系统(4.3)的稳定性由闭环系统矩阵的特征值决定,即闭环系统(4.3)渐近稳定的充分必要条件是矩阵的所有特征值都具有负实部。而由经典控制理论知道,矩阵的特征值也将影响诸如衰减速度、振荡、超调等过渡过程特性。因此,若能找到一个适当的矩阵,使得矩阵的特征值位于复平面上预先给定的特定位置,则以矩阵为增益矩阵的状态反馈控制器(4.2)就能保证闭环系统(4.3)是渐近稳定的,且具有所期望的动态响应特性。这种通过寻找适当的状态反馈增益矩阵,使得闭环系统极点(即矩阵的特征值)位于预先给定位置的状态反馈控制器设计问题称为是状态反馈极点配置问题,简称为极点配置问题。

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

函数acker和place的一般形式是:

K=acker(A,B,P) %A,B为系统矩阵,P为需要配置的极点,为反馈增益矩阵。

K=place(A,B,P)

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

【例题5】考虑以下系统  

其中:

试设计一个状态反馈控制器:

使得闭环系统的极点是,进而对给定的初始状态,画出闭环系统的状态响应曲线。

解:提问,状态方程是什么标准型?

A=[0 1 0;0 0 1;-1 -5 -6]

B=[0;0;1]

%首先判断系统是否能控

r=rank(ctrb(A,B))

P=[-2+j*4 –2-j*4 -10]  %此命令运行会提示错误,为什么?仔细检查

K=acker(A,B,P)   %试一下另一个命令K=place(A,B,P)

%下面对给定的初始状态,画出闭环系统的状态响应曲线。

%新系统的状态方程为

sys_new=ss(A-B*K,eye(3),eye(3),eye(3))

x0=[1;0;0]

t=0:0.01:4;

x=initial(sys_new,x0,t);

x1=[1,0,0]*x';%取出状态分量x1

x2=[0,1,0]*x';

x2=[0,0,1]*x';

%下面绘制曲线

x1=[1 0 0]*x';

x2=[0 1 0]*x';

x3=[0 0 1]*x';

subplot(3,1,1);plot(t,x1),grid

title('Response to Initial Condition')

ylabel('x1')

subplot(3,1,2);plot(t,x2),grid

ylabel('x2')

subplot(3,1,3);plot(t,x3),grid

xlabel('t (sec)')

ylabel('x3')

四、【课堂作业】

已知系统的传递函数为:

(1)用matlab,求其传递函数模型,并转化为状态空间模型;

(2)绘制出系统的单位阶跃响应;

(3)求状态反馈矩阵增益,使系统的极点配置在的位置上。

答案:

(1)

a =

   -6.0000  -11.0000   -6.0000

    1.0000         0         0

         0    1.0000         0

b =

     1

     0

     0

c =

   -0.0000   -0.0000   10.0000

d =

     0

(3)

K =

  1.0e+003 *

    0.0270    0.3510    1.3140

更多相关推荐:
实验三、控制系统稳定性分析

实验三控制系统稳定性分析注意进入实验室前的要求学习教材108182和402405页内容电动机传递函数GmKTKT转矩系数La电感Ra电阻LasRa机械系统传递函数d2dJ2BKTJ质量B阻尼K刚度dtdt对其求...

自动控制实验报告三-控制系统的稳定性分析

实验三控制系统的稳定性分析一实验目的1观察系统的不稳定现象2研究系统开环增益和时间常数对稳定性的影响二实验仪器1ELATIII型自动控制系统实验箱一台2计算机一台三实验内容系统模拟电路图如图31图31系统模拟电...

实验三 控制系统稳定性分析

实验三控制系统稳定性分析实验日期必填实验项目必填实验指导老师孙歆钰必填一实验目的通过观察典型三阶线性系统分析线性系统各参数对系统稳定性的影响二实验内容完成三阶系统稳定性能的测试三实验仪器123自动控制原理实验箱...

自动控制实验报告一-控制系统的稳定性分析

实验一控制系统的稳定性分析一实验目的1观察系统的不稳定现象2研究系统开环增益和时间常数对稳定性的影响二实验仪器1自动控制系统实验箱一台2计算机一台三实验内容系统模拟电路图如图系统模拟电路图其开环传递函数为Gs1...

实验三 控制系统的稳定性分析

实验三控制系统的稳定性分析实验三控制系统的稳定性分析一实验目的1观察系统的不稳定现象2研究系统开环增益和时间常数对稳定性的影响二实验仪器1ELATII型自动控制系统实验箱一台2计算机一台三实验内容系统模拟电路图...

自动控制理论试验2-控制系统的瞬态响应及其稳定性分析

控制理论试验二控制系统的瞬态响应及其稳定性分析试验日期20xx年11月18日一试验目的1学习瞬态性能指标的测试方法2记录不通开环增益时二阶系统的阶跃响应曲线并测出超调量峰值时间tp和调节时间ts3了解闭环控制系...

实验一 控制系统的稳定性分析

实验一控制系统的稳定性分班级光伏姓名王永强学号2班120xx09067实验一控制系统的稳定性分析一实验目的1研究高阶系统的稳定性验证稳定判据的正确性2了解系统增益变化对系统稳定性的影响3观察系统结构和稳态误差之...

线性控制系统的稳定性分析

实验报告课程名称专业班级姓名学号电气与信息学院和谐勤奋求是创新1234实验教学考核和成绩评定办法课内实验考核成绩严格按照该课程教学大纲中明确规定的比重执行实验成绩不合格者不能参加课程考试待补做合格后方能参加考试...

系统稳定性分析(现代控制实验)

装订线实验报告系姓名预定时间实验名称系统稳定性分析自动化专业学号实验时间自动化班授课老师实验台号装订线2装订线3

实验三、控制系统的稳定性分析曲线图

曲线图1C1ufR350KK22R3100KC1ufK103R3200KC1ufK2014C01ufR350KK55R3100KC01ufK1026R3200KC01ufK20六实验总结3通过这次实验我观察了系...

实验五 线性系统的稳定性和稳态误差分析

实验五自动控制系统的稳定性和稳态误差分析一实验目的1研究高阶系统的稳定性验证稳定判据的正确性2了解系统增益变化对系统稳定性的影响3观察系统结构和稳态误差之间的关系二实验任务1稳定性分析欲判断系统的稳定性只要求出...

实验七 控制系统稳定性分析的MATLAB实现

实验七控制系统稳定性分析的MATLAB实现一实验目的1熟悉MATLAB的仿真及应用环境2在MATLAB的环境下研究控制系统稳定性二实验内容和要求1学会使用MATLAB中的代数稳定判据判别系统稳定性2学会使用MA...

控制系统的稳定性分析实验报告(27篇)