现代控制理论.docx

上传人:b****2 文档编号:1734391 上传时间:2022-10-23 格式:DOCX 页数:13 大小:195.89KB
下载 相关 举报
现代控制理论.docx_第1页
第1页 / 共13页
现代控制理论.docx_第2页
第2页 / 共13页
现代控制理论.docx_第3页
第3页 / 共13页
现代控制理论.docx_第4页
第4页 / 共13页
现代控制理论.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

现代控制理论.docx

《现代控制理论.docx》由会员分享,可在线阅读,更多相关《现代控制理论.docx(13页珍藏版)》请在冰豆网上搜索。

现代控制理论.docx

现代控制理论

现代控制理论

论文题目:

MATLAB应用

目录

引言3

第1章利用MATLAB进行模型的转换4

1.1状态空间表达式4

1.2传递函数与状态空间表达式之间的转换4

1.3求传递函数矩阵6

1.4线性变换6

第2章利用MATLAB求解系统方程10

2.1线性齐次状态方程的解10

2.2线性非齐次状态方程的解11

2.3连续系统状态方程的离散化12

 

引言

在《现代控制理论基础》的学习过程当中,我们重点要掌握的是现代控制理论的基本理论和基本方法,以便进行系统分析和设计,这些都建立在数学模型的基础上,所以就牵涉到大量的、复杂的数学计算,人工完成这些计算非常的麻烦,然而借助于一些辅助工具,就可以很容易实现。

MATLAB是当今世界上最优秀的科技应用软件之一,它以强大的科学计算能力和可视化功能,简单易用的编程语言以及开放式的编程环境等一些显著的优点,使得它在当今许许多多科学技术领域中成为计算机辅助分析和设计、算法研究和应用开发的基本工具和首选平台。

特别是在《现代控制理论》中,用它作为系统分析和设计的软件平台,更显示出独特的优势。

本论文主要就MATLAB软件在传递函数与状态空间表达式之间的转换、传递函数矩阵的求解、线性变换、系统方程的求解几个方面的应用作主要介绍,并列举了一些应用的例子。

 

第1章利用MATLAB进行模型的转换

1.1状态空间表达式

状态——动态系统的状态是一个可以确定该系统行为的信息集合。

这些信息对于确定系统未来的行为是充分且必要的。

状态变量——确定系统状态的最小一组变量,如果知道这些变量在任意初始时刻t0的值以及t≥t0的系统输入,便能够完整地确定系统在任意时刻t的状态。

(状态变量的选择可以不同)

状态空间——以所选择的一组状态变量为坐标轴而构成的正交线性空间,称为状态空间。

状态空间表达式——系统的状态方程和输出方程一起,称为系统状态空间表达式,或称为系统动态方程,或称系统方程。

一般表达式为

1.2传递函数与状态空间表达式之间的转换

1.连续系统的状态空间表达式

描述系统输入、输出和状态变量之间关系的方程组成为系统的状态空间表达式。

在MATLAB软件中,可以用ss命令来建立状态空间模型。

对于连续系统,其格式为sys=ss(A,B,C,D),其中A,B,C,D为描述线性连续系统的矩阵。

当sys1是一个用传递函数表示的线性定常系统时,可以用命令sys=ss(sys1)将其转换为状态空间形式,也可以用命令sys=ss(sys1,‘min’)计算出系统sys的最小实现

例1-1控制系统微分方程为

y(4)+10

求其状态空间表达式。

解可以先将其转换成传递函数

输入下列命令

num=[172424];den=[110355024];

G=tf(num,den);

sys=ss(G)

语句执行结果为:

a=

x1x2x3x4

x1-10-2.188-0.7813-0.1875

x216000

x30200

x40010

b=

u1

x11

x20

x30

x40

c=

x1x2x3x4

y110.43750.3750.1875

d=

u1

y10

Continuous-timemodel.

该结果表示,该系统的状态空间表达式为

注意,在输入命令中,sys=ss(G)也可以改用[A,B,C,D]=tf2ss(num,den),在本例中其作用和sys=ss(G)近似,也可以计算出矩阵A、B、C、D。

2.离散系统的状态空间表达式

离散系统的状态空间表达式为

和连续系统状态空间表达式的输入方法类似,如果要输入离散系统的状态空间表达式,首先要输入矩阵G、H、C、d,然后输入语句sys=ss(G、H、C、d、T),即可将其输入到MATLAB的workspace中,并且用变量名sys来表示这个离散系统,其中T为采样时间。

如果Gyu表示一个以脉冲传递函数描述的离散系统,也可以用ss(Gyu)命令,将脉冲传递函数模型转换成状态空间表达式。

1.3求传递函数矩阵

在经典控制理论中,单输入—单输出线性定常系统的传递函数,是系统初始松弛(初始条件为零的系统称初始松弛系统)时,输出量的拉普拉斯变换与输入量拉普拉斯之比。

这是一种用系统结构和参数表示的线性定常系统的输入量和输出量之间的关系式,它表达了系统本身的特性。

线性定常系统,其状态空间表达式为

那么,状态变量对输入向量(输入到状态)的传递函数矩阵为

系统输出向量对输入向量(输入到输出)的传递函数矩阵:

其结构为

在MATLAB中可以运用语句:

G=simple(simple(C*F*B)+D)

来求解,其中F=inv(s*I-A),inv()函数是求矩阵的逆矩阵,而simple()函数是对符号运算结果进行简化。

1.4线性变换

我们知道,状态变量的选取是非唯一的。

选择不同的状态变量,则得到的状态空间表达式也不相同。

由于它们都是同一个系统的状态空间描述,它们之间必然存在某种关系。

这个关系就是矩阵中的线性变换关系。

求线性变换的目的:

将系统矩阵变成为标准形,便于求解状态方程。

这里所指的标准形是指矩阵A为对角形、约当形和模态形。

线性变换的基本性质:

1)线性变换不改变系统的特征值

 

线性定常系统

系统的特征方程为

等价系统的特征方程为

可见线性变换不改变系统的特征值

2)经过线性变换不改变系统的传递函数矩阵

当D=0时的传递函数矩阵为

可见,经过线性变换,系统的传递函数矩阵不改变

1.化矩阵A为对角矩阵

函数eig()可以计算出矩阵A的特征值以及将矩阵A转换成对角矩阵的线性变换矩阵。

其语句格式为[Q、D]=eig(A),则D对角阵并且对角线上各元素为矩阵A的特征值,满足Q-1AQ=D,因为Q-1=P-1,即:

PAP-1=D

例1-2线性控制系统的状态方程为

试做线性变换,要求变换后系统矩阵A为对角阵。

解先求出系统矩阵的特征值,Q阵可以选择为由特征值构成的范德蒙矩阵。

输入语句

A=[010;001;-6-11-6];eig(A)

执行结果为

ans=

-1.0000

-2.0000

-3.0000

因此,输入以下语句

A=[000;001;-6-11-6];B=[0;0;1];Q=[111;-1-2-3;149];P=inv(Q);

A1=P*A*Q,B1=P*B

执行结果为:

A1=

-1.00006.00000.0000

0.0000-2.00000.0000

0.00000.0000-3.0000

B1=

0.5000

-1.0000

0.5000

由以上计算数据可得系统经过线性变换后的方程为

也可以输入语句

A=[010;001;-6-11-6];[QD]=eig(A)

运行结果为:

Q=

-0.57740.2182-0.1048

0.5774-0.43640.3145

-0.57740.8729-0.9435

D=

-1.000000

0-2.00000

00-3.0000

再计算线性变换矩阵,并且验证结果如下

>>P=inv(Q)

P=

-5.1962-4.3301-0.8660

-13.7477-18.3303-4.5826

-9.5394-14.3091-4.7697

>>A1=P*A*Q

A1=

-1.0000-0.00000.0000

-0.0000-2.0000-0.0000

-0.00000-3.0000

>>B1=P*B

B1=

-0.8660

-4.5826

-4.7697

可见,两种线性变换虽然不同,却都可以将A阵转换为对角阵。

2.化矩阵A为约当阵

在MATLAB中用函数命令jordan()来求矩阵的约当标准形。

其命令格式为:

[Q,J]=jordan(A)。

输入参量A是系数矩阵,输出参量J是矩阵A的约当标准形矩阵,而P=Q-1就是线性变换矩阵,满足J=Q-1AQ=PAP-1。

例1-3将矩阵化为标准型矩阵。

解首先输入语句

A=[010;001;2-54];[Q,D]=eig(A)得出

Q=

-0.57740.5774-0.2182

-0.57740.5774-0.4364

-0.57740.5774-0.8729

D=

1.000000

01.00000

002.0000

可见,Q不满秩,即矩阵A的特征值中有重特征值,并且A的独立特征向量的个数小于n。

因此输入语句

A=[010;001;2-54];[Q,J]=jordan(A)

语句执行结果为

Q=

1-20

2-2-2

4-2-4

J=

200

011

001

A=[010;001;2-54];Q=[1-20;2-2-2;4-2-4];

>>P=inv(Q);J1=P*A*Q

J1=

200

011

001

表明,所计算出的结果满足-1

第2章利用MATLAB求解系统方程

2.1线性齐次状态方程的解

1)线性定常系统齐次状态方程是指系统输入向量为零时的状态方程

当初始时刻t0=0时,齐次状态方程的解为

其中,

如果初始状态t0≠0,则

矩阵指数函数又称为状态转移矩阵,记作

2)线性时变系统方程为

,初始状态为

其解为

使用MATLAB可以方便地求出状态方程的解。

我们通过例子来说明。

例2-1已知线性系统齐次状态方程为

求系统状态方程的解。

解用以下MATLAB程序计算齐次状态方程的解,其中collect()函数的作用是合并同类项,而ilaplace()函数的作用是求取拉普拉斯逆变换,函数det()的作用是求方阵的行列式。

symsstx0taophiphi0;

A=[01;-2-3];I=[10;01];

E=s*I-A;C=det(E);D=collect(inv(E));

phi0=ilaplace(D)

x0=[1;0];x=phi0*x0

程序执行后

phi0=

[]

[]

x=

[]

[]

2.2线性非齐次状态方程的解

1)线性定常系统非线性齐次状态方程为

初始时刻t0=0则

更一般的情况,当t0≠0时

2)线性时变系统非线性齐次状态方程的解

其解为

例2-2已知系统状态方程为

求系统状态方程的解

解用以下MATLAB程序求系统方程的解。

其中,语句phi=subs(phi0,’t’,(t-tao))表示将符号变量phi0中的自变量t用(t-tao)代换就构成了符号变量phi,而语句x2=int(F,tao,0,t)表示符号变量F对tao在0到t的积分区间上求积分,运算结果返回到x2。

symsstx

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1