当前位置:文档之家› 1_用MATLAB处理线性系统数学模型

1_用MATLAB处理线性系统数学模型

1_用MATLAB处理线性系统数学模型
1_用MATLAB处理线性系统数学模型

实验二 用MATLAB 处理线性系统数学模型

[说明]

一个控制系统主要由被控对象、测量装置、控制器和执行器四大部分构成。MATLAB 软件的应用对提高控制系统的分析、设计和应用水平起着十分重要的作用。采用MATLAB 软件仿真的关键问题之一是在MATLAB 软件平台上怎样正确表示被控对象的数学模型。

[实验目的]

1.了解MATLAB 软件的基本特点和功能;

2.掌握线性系统被控对象传递函数数学模型在MATLAB 环境下的表示方法及转换; 3.掌握多环节串联、并联、反馈连接时整体传递函数的求取方法;

4. 掌握在SIMULINK 环境下系统结构图的形成方法及整体传递函数的求取方法; 5.了解在MATLAB 环境下求取系统的输出时域表达式的方法。 [实验指导]

一、被控对象模型的建立

在线性系统理论中,一般常用的描述系统的数学模型形式有: (1)传递函数模型——有理多项式分式表达式 (2)传递函数模型——零极点增益表达式 (3)状态空间模型(系统的内部模型)

这些模型之间都有着内在的联系,可以相互进行转换。

1、传递函数模型——有理多项式分式表达式 设系统的传递函数模型为

111011

1......)()()(a s a s a s a b s b s b s b s R s C s G n n n n m m m m ++++++++=

=----

对线性定常系统,式中s 的系数均为常数,且a n 不等于零。

这时系统在MATLAB 中可以方便地由分子和分母各项系数构成的两个向量唯一地确定,这两个向量常用num 和den 表示。

num=[b m ,b m-1,…,b 1,b 0] den=[a n ,a n-1,…,a 1,a 0]

注意:它们都是按s 的降幂进行排列的。分子应为m 项,分母应为n 项,若有空缺项(系数为零的项),在相应的位置补零。

然后写上传递函数模型建立函数:sys=tf(num,den)。这个传递函数便在MATLAB 平台中被建立,并可以在屏幕上显示出来。

例1-1: 已知系统的传递函数描述如下: 2

2642202412)(23423++++++=s s s s s s s G

在MATLAB 命令窗口(Command Window )键入以下程序: >> num=[12,24,0,20]; >> den=[2 4 6 2 2]; >> sys=tf(num,den) 回车后显示结果: Transfer function:

12 s^3 + 24 s^2 + 20

--------------------------------------- 2 s^4 + 4 s^3 + 6 s^2 + 2 s + 2

并同时在MATLAB 中建立了这个相应的有理多项式分式形式的传递函数模型。

举例1-2:已知系统的传递函数描述如下:

)

523()1()66)(2(4)(2

332

2+++++++=s s s s s s s s s G 其中,多项式相乘项,可借助多项式乘法函数conv 来处理。 在MATLAB 命令窗口 键入以下程序: >> num=4*conv([1,2],conv([1,6,6],[1,6,6]));

>> den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5])))); >> sys=tf(num,den) 回车后显示结果: Transfer function:

4 s^

5 + 5

6 s^4 + 288 s^3 + 672 s^2 + 720 s + 288 --------------------------------------------------------------------------- s^

7 + 6 s^6 + 14 s^5 + 21 s^4 + 24 s^3 + 17 s^2 + 5 s

同时在MATLAB 中建立了这个有理多项式分式形式的传递函数模型。

2.传递函数模型——零极点增益模型

零极点增益模型为:

12m 12n (s-z )(s-z )...(s-z )

G (s )=K (s-p )(s-p )...(s-p )

其中:K 为零极点增益,z i 为零点,p j 为极点。 该模型 在MATLAB 中,可用[z,p,k]矢量组表示,即 z=[z 1,z 2,…,z m ]; p=[p 1,p 2,...,p n ]; k=[K];

然后在MATLAB 中写上零极点增益形式的传递函数模型建立函数:sys=zpk(z,p,k)。 这个零极点增益模型便在MATLAB 平台中被建立。

举例1-3: 已知系统的零极点增益模型:)

5)(2)(1()

3(6)(++++=s s s s s G

在MATLAB 命令窗口 键入以下程序: >> z=[-3]; p=[-1,-2,-5]; k=6; >> sys=zpk(z,p,k) Zero/pole/gain: 6 (s+3)

----------------- (s+1) (s+2) (s+5)

则在MATLAB 中建立了这个零极点增益的模型。

3.状态空间模型

状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,如下:

Du

Cx y Bu Ax x

+=+=

则在MATLAB 中建立状态空间模型的程序如下: >> A=[A]; >> B=[B]; >> C=[C]; >> D=[D]; >> sys=ss(A,B,C,D)

二、不同形式模型之间的相互转换

不同形式之间模型转换的函数:

(1)tf2zp :多项式传递函数模型转换为零极点增益模型。

格式为:[z,p,k]=tf2zp(num,den)

(2)zp2tf : 零极点增益模型转换为多项式传递函数模型。

格式为:[num,den]=zp2tf(z,p,k)

(3)ss2tf : 状态空间模型转换为多项式传递函数模型。

格式为:[num,den]=ss2tf(a,b,c,d)

(4)tf2ss: 多项式传递函数模型转换为状态空间模型。

格式为:[a,b,c,d]=tf2ss(num,den)

(4)zp2ss :零极点增益模型转换为状态空间模型。

格式为:[a,b,c,d]=zp2ss(z,p,k)

(5)ss2zp :状态空间模型转换为零极点增益模型。

格式为:[z,p,k]=ss2zp(a,b,c,d)

三、环节串联、并联、反馈连接时等效的整体传递函数的求取 1、串联

这里:

在MATLAB 中求取整体传递函数的功能,采用如下的语句或函数来实现。. ① G=G1*G2 ② G=series(G1,G2)

③ [num,den]=series(num1,den1,num2,den2) 例1-4 两环节G 1、G 2串联,求等效的整体传递函数G

32)(1+=

s s G 1

27

)(22++=s s s G 解:①实现的程序:

>> n1=2;d1=[1 3]; n2=7;d2=[1 2 1]; G1=tf(n1,d1); G2=tf(n2,d2); G=G1*G2 运行结果: Transfer function:

14 ---------------------

s^3 + 5 s^2 + 7 s + 3 ②实现的程序:

>>n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G=series(G1,G2) 运行结果:

Transfer function: 14

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

s^3 + 5 s^2 + 7 s + 3 ③实现的程序:

>>n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2); >> [n,m]=series(n1,d1,n2,d2) 运行结果:

n = 0 0 0 14 m = 1 5 7 3

例1-5 四环节G 1、G 2、 G 3、G 4串联,求等效的整体传递函数G

32321+=

==s G G G 1

2722++=s s G 解:实现的程序:

>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2); >>G=G1*G2*G1*G1 运行结果: Transfer function:

56

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

s^5 + 11 s^4 + 46 s^3 + 90 s^2 + 81 s + 27 2、并联

两环节G 1(s)与G 2(s)并联,则等效的整体传递函数为 G(s)=G 1(s)+G 2(s)

在MATLAB 中求取整体传递函数的功能,采用如下的语句或函数来实现。

① G=G1+G2 ② G= parallel (G1,G2)

③ [num,den]= parallel (num1,den1,num2,den2) 例1-6 两环节G 1、G 2并联,求等效的整体传递函数G(s)

32)(1+=

s s G 1

27)(22++=s s s G 解:

①实现的程序:

>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G1+G2 运行结果: Transfer function: 2 s^2 + 11 s + 23 ---------------------------- s^3 + 5 s^2 + 7 s + 3 ②实现的程序:

>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G=parallel(G1,G2)

运行结果:

Transfer function: 2 s^2 + 11 s + 23

--------------------------- s^3 + 5 s^2 + 7 s + 3

③实现的程序:

>> n1=2;d1=[1 3];n2=7;d2=[1 2 1]; [n,d]=parallel(n1,d1,n2,d2)

运行结果:

n = 0 2 11 23 d = 1 5 7 3

则G(s)=G 1(s)-G 2(s) 相应的语句为

G=G1-G2 例1-7:程序如下

>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G=G1-G2

运行结果: Transfer function: 2 s^2 - 3 s - 19

------------------------------ s^3 + 5 s^2 + 7 s + 3

3.反馈:feedback

在MATLAB 中采用如下的语句或函数来求取闭环传递函数)(s G 闭环 ① G= feedback(G1,G2,sign)

② [num,den]=feedback(num1,den1,num2,den2,sign) ③ G= cloop (G1, sign)

④ [numc,denc]=cloop(num,den,sign)

这里,sign=1时采用正反馈;当sign= -1时采用负反馈;sign 缺省时,默认为负反馈。 其中G2;num2,den2;对应H (s )。 ③ ④ 只用于单位反馈系统。

例1-8 ,已知

求闭环传递函数。

两环节G 1、G 2分别为 81

21003)(21+++=s s s s G 522

)(2

+=s s G 解:① a:

>> n1=[3 100] ;d1=[1 2 81];n2=2;d2=[2 5];

>>G1=tf(n1,d1);G2=tf(n2,d2);G=feedback(G1,G2,-1) 结果;

Transfer function:

6 s^2 + 215 s + 500 ------------------------------------ 2 s^3 + 9 s^2 + 178 s + 605 b:

>> n1=[3 100] ;d1=[1 2 81];n2=2;d2=[2 5]; G1=tf(n1,d1);G2=tf(n2,d2);G=feedback(G1,G2,1) 结果:

Transfer function:

6 s^2 + 215 s + 500 ---------------------------

2 s^

3 + 9 s^2 + 166 s + 205 ②

num1=[3 100] ;den1=[1 2 81];num2=2;den2=[2 5]; [num,den]=feedback(num1,den1,num2,den2,-1) 结果:

num =

0 6 215 500 den =

2 9 178 605

举例1-9 ,已知 求闭环传递函数。

两环节G 1、G 2分别为

81

2100

3)(2

1+++=s s s s G 1)(2=s G 解 ①

>> n1=[3 100] ;d1=[1 2 81];G1=tf(n1,d1);G2=1;G=feedback(G1,G2,-1) 结果:

Transfer function: 3 s + 100 ---------------

s^2 + 5 s + 181 ③

>> n1=[3 100] ;d1=[1 2 81];G1=tf(n1,d1);G=cloop(G1,-1) 结果:

Transfer function:

3 s + 100

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

s^2 + 2 s + 81

→→以上语句对于零极点增益模型也是适用的

例1-10:

>>z=[-3];p=[-1];k=3;G1=zpk(z,p,k);z1=[-4];p1=[-2];k1=5;G1=zpk(z,p,k);

G2=zpk(z1,p1,k1);G=G1*G2

Zero/pole/gain:

15 (s+3) (s+4)

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

(s+1) (s+2)

>> GG=G1+G2

Zero/pole/gain:

8 (s+1.275) (s+3.725)

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

(s+1) (s+2)

>> GGG=feedback(G1,G2,-1)

Zero/pole/gain:

0.1875 (s+3) (s+2)

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

(s+3.25) (s+3.5)

→→以上运算中往往通分运算后不约简,可以再使用minreal( )函数来实现约简,其格式为G1= minreal(G)

举例1-11

>>z=[-3];p=[-1];k=3;G1=zpk(z,p,k);z1=[-1];p1=[-2];k1=5;G1=zpk(z,p,k);

G2=zpk(z1,p1,k1);G=G1*G2

Zero/pole/gain:

15 (s+3) (s+1)

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

(s+1) (s+2)

>> G1=minreal(G)

Zero/pole/gain:

15 (s+3)

--------

(s+2)

四、系统复杂连接时等效的整体传递函数的求取

1.用Siumlink软件实现传递函数的求取

Siumlink软件是基于Windows的模型化图形输入的仿真软件,是MATLAB软件的拓展,在Siumlink环境下输入系统的方框图则可以方便的得到其传递函数。

⑴系统方框图的输入

①在MATLAB命令窗口中输入simulink,出现一个称为Simulink Library Browser的窗

口,它提供构造方框图(或其他仿真图形界面)的模块;

②在MATLAB主窗口对File\New\Model操作,打开模型文件窗口,在此窗口上,构造方框图。

③以下面的系统为例,介绍构造方框图的各模块录入方法和设置方法。

图中,111+=

s G s G 42= 1263+=s G s s G 3144+= 1

54

5+=s G s G 16=

◇ 录入各传递函数方框

在Simulink Library Browser 的窗口打开Simulink →Continuou s 子库,将Transfer Fcn 模块复制到(拽到)模型文件窗口,共复制6个方框,分别放到相应位置。传递函数是积分环节的,也可以复制Integrator 模块

◇ 录入相加点

在Simulink Library Browser 的窗口打开Simulink →Math 子库,将Sum 模块复制到(拽到)模型文件窗口,共复制复制到(拽到)模型文件窗口,共复制3个相加点,分别放到相应位置。

◇ 录入输入点与输出点标记

打开Simulink →Sources 子库,将In1模块(输入点)复制到(拽到)模型文件窗口,放到相应位置。

打开Simulink →Sinks 子库,将Out1模块(输出点)复制到(拽到)模型文件窗口,放到相应位置。

◇ 连接各方框(环节)

在模型文件窗口上,按箭头方向从起点到终点按住鼠标左键,连接方框。

传递函数方框有信号的入点和出点标记,画图不方便时,可以修改原来的方向,右键点击方框,在出现的浮动菜单上,作如下选择,即可实现方框旋转。

还可以对方框加阴影,改颜色,增加或取消修改名称注释及其位置等。其他模块也有这些功能。

◇双击各模块,在参数设定窗口,设置模块参数。

对于方框,是确定该方框表示的具体传递函数。

对于相加点,是确定图形标记是圆形还是方形,并确定有几个需要相加的输入信号及信号极性。

输入点与输出点标记不用再设置。

在模型文件窗口构建得到的方框图如下:

⑵将构建的方框图保存

自定文件名,保存在默认的目录下。文件名例如:cdhs 。

⑶求取方框图表示的系统的传递函数

①有理多项式形式

在MATLAB命令窗口(Command Window)键入以下程序:

>> [n,d]=linmod('cdhs') 注:' '中是自定的文件名。

结果:

Returning transfer function model

n =

0 0.0000 0 0.0000 12.0000 2.4000 0.0000

d =

1.0000 1.7000 16.8000 26.5000 21.6000 3.2000 0.0000

②零极点增益模型

在MATLAB命令窗口(Command Window)键入以下程序:

>> [a,b,c,d]=linmod2('cdhs');G=ss(a,b,c,d);G1=ZPK(G)

结果:

Zero/pole/gain:

12 s (s+0.2)

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

s (s+0.1855) (s^2 + 1.521s + 1.12) (s^2 - 0.006824s + 15.41)

化简

>> G2=minreal(G1)

结果:

Zero/pole/gain:

12 (s+0.2)

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

(s+0.1855) (s^2 + 1.521s + 1.12) (s^2 - 0.006824s + 15.41)

2.用信号流程图实现传递函数的求取

[实验内容]

1.自确定2个传递函数,实现传递函数的录入和求取串联、并联、反馈连接时等效的整体传递函数。要求分别采用有理多项式模型和零极点增益模型两种传递函数形式。

2.进行2例有理多项式模型和零极点增益模型间的转换。

3.在Siumlink环境下实现如下系统的传递函数的求取。各环节传递函数自定。

4.用画信号流程图方法求取下面系统的传递函数。

[实验报告要求]

1.写明实验目的和实验原理。实验原理中简要说明求取传递函数的途径和采用的语句或函数。

2.在实验过程和结果中,要求按项目写清楚自定的传递函数、画出系统方框图,从屏幕上复制程序和运行结果,复制系统的Simulink方框图,打印报告或打印粘贴在报告上。不方便打印的同学,要求手动从屏幕上抄写和绘制。

3.简要写出实验心得和问题或建议。

线性系统理论Matlab实践仿真报告

线性系统理论Matlab实验报告 1、本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具 有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数是系统不稳定,这样的设计是无意义的,故而不妨设采用状态反馈后的两个期望特征根为-7,-9,这样满足题目中所需的要求。 (1)要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控; 判断能控程序设计如下: >> A=[-0.8 0.02;-0.02 0]; B=[0.05 1;0.001 0]; Qc=ctrb(A,B) Qc = 0.0500 1.0000 -0.0400 -0.8000 0.0010 0 -0.0010 -0.0200 Rc=rank(Qc) Rc =2 Qc = 0.0500 1.0000 -0.0400 -0.8000 0.0010 0 -0.0010 -0.0200 得出结果能控型判别矩阵的秩为2,故而该系统是完全可控的,故可以对其进行状态反馈设计。 (2)求取状态反馈器中的K,设的期望特征根为-7,-9; 其设计程序如下: >> A=[-0.8 0.02;-0.02 0]; B=[0.05 1;0.001 0]; P=[-7 -9]; k=place(A,B,P) k = 1.0e+003 * -0.0200 9.0000 0.0072 -0.4500 程序中所求出的k即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。 2、(a)要求求该系统的能控型矩阵,并验证该系统是不能控的。

用MATLAB解线性规划

用MATLAB 优化工具箱解线性规划 命令:x=linprog (c ,A ,b ) 2、模型: beq AeqX b AX ..min =≤=t s cX z 命令:x=linprog (c ,A ,b ,Aeq,beq ) 注意:若没有不等式:b AX ≤存在,则令A=[ ],b=[ ]. 若没有等式约束, 则令Aeq=[ ], beq=[ ]. 3、模型: VUB X VLB beq AeqX b AX ..min ≤≤=≤=t s cX z 命令:[1] x=linprog (c ,A ,b ,Aeq,beq, VLB ,VUB ) [2] x=linprog (c ,A ,b ,Aeq,beq, VLB ,VUB, X0) 注意:[1] 若没有等式约束, 则令Aeq=[ ], beq=[ ]. [2]其中X0表示初始点 4、命令:[x,fval]=linprog(…) 返回最优解x及x处的目标函数值fval. 例1 max 6543216.064.072.032.028.04.0x x x x x x z +++++= 85003.003.003.001.001.001.0..654321≤+++++x x x x x x t s 70005.002.041≤+x x 10005.002.052≤+x x 90008.003.063≤+x x 6,2,10 =≥j x j 解 编写M 文件小xxgh1.m 如下: c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6]; A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08]; b=[850;700;100;900]; Aeq=[]; beq=[]; vlb=[0;0;0;0;0;0]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) min z=cX b AX t s ≤..1、模型:

基于神经网络的非线性自适应控制研究毕业设计论文

摘要 神经网络自适应控制是基于自适应的基本原理,利用神经网络的特点设计而成的。它发挥了自适应与神经网络的各自长处,为非线性控制的研究提供了一种新方法。 本文基于Lyapunov稳定性理论,采用神经网络直接自适应控制的思想设计控制器,研究了一类带干扰的不确定非线性系统的控制问题。控制器主要是针对不确定非线性系统中存在的两类未知项——未知函数和未知外界干扰而设计,其中未知函数利用径向基函数神经网络来近似,外界干扰利用非线性阻尼项来抑制,这样可以充分利用神经网络的逼近特性,克服复杂系统难以建模等困难,并且系统稳定性和收敛性在给出的假设的条件下均能得到保证。最后设计程序进行仿真验证,在程序设计中,以高斯函数作为基函数,仿真结果表明在权值和控制的有界性方面取得了一定的效果。 本文第一章到第三章详细介绍了人工神经网络及神经网络控制的发展和研究现状;第四章主要介绍了径向基函数神经网络,并对其逼近能力进行仿真; 在结束语中展望了神经网络控制的发展前景,提出以后的研究方向。 关键词:RBF神经网络,自适应控制,不确定非线性系统 Abstract Neural network adaptive control is proposed combining adaptive control's advantages with neural network's characters and provides a new method for nonlinear control. Based on Lyapunov stability theorem and neural network direct adaptive control idea the control problem of a class of uncertain nonlinear system with disturbance is researched. The controller is designed arming at two kinds of uncertainties existing in nonlinear system--the unknown functions and the uncertain disturbance. In controller. the radial basis function neural network is used as approximation model for the unknown functions. and nonlinear damping term is used to counteract the disturbances. so neural network's better approximation capabilities can be utilized richly and the modeling difficulties can be avoided. Meanwhile. the controlled system's stability and convergence can be guaranteed under some assumptions. At last the program is designed to verify the effectiveness of the controller. In presented programs. Guassian function is used as basis function. Simulation results show that

线性系统理论大作业

目录 题目一 (2) (一)状态反馈加积分器校正的输出反馈系统设计 (2) (1)建立被控对象的状态空间模型,并判断系统性质 (2) (2)状态反馈增益矩阵和积分增益常数的设计 (4) (3)全维观测器设计 (6) (4)如何在闭环调速系统中增加限流环节 (8) (二)二次型最优全状态反馈控制和按负载扰动前馈补偿的复合控制系统设计 (8) (1)线性二次型最优全状态反馈设计 (8) (2)降维观测器设计 (13) 题目二 (15) (1)判断系统是否存在最优控制律 (15) (2)非零给定点的最优控制设计和仿真分析 (16) (3)权矩阵的各权值对动态性能影响分析 (17)

题目一 (一)状态反馈加积分器校正的输出反馈系统设计 (1)建立被控对象的状态空间模型,并判断系统性质 1)画出与题目对应的模拟结构图,如图1所示: 图1原始系统结构图 取状态变量为1x =n ,2x =d I ,3x =d u ,控制输入u=c u 1222212333375375111 T L e la la la s s s C x x T GD GD C x x x x RT T RT K x x u T T ?=-???=--+???=-+?? 将已知参数代人并设输出y=n=1x ,得被控对象的状态空间表达式为 L x Ax Bu ET y Cx =++= 其中,2 37500039.768011=-3.696-17.85727.05600-588.2351 00 T e la la la s C GD C A RT T RT T ???? ? ???????=- -?????? ??????-??? ? ,

计算机模拟控制系统 建模设计

1绪论 1.1计算机控制系统 计算机控制系统是在自动化控制技术和计算机技术的飞速发展的基础上产生的,20世纪50年代中期,经典控制理论已经发展成熟,并在不少工程技术领域得到了成功的应用。随着复杂系统的设计和复杂控制规律的实现上很难满足更高的要求。现代控制理论的发展为自动控制系统的分析、设计与综合增添了理论基础,而计算机技术的发展为新型控制方法的实现提供了非常有效的手段,两者的结合极大的推动了自动控制技术的发展。进而计算机控制系统广泛的应用于工厂生产,逐渐融入于生产中,各类大型工厂均离不开计算机控制系统。 1.1.1系统的分类 按系统性能分:线性系统和非线性系统;连续系统和离散系统;定常系统和时变系统;确定系统和不确定系统。 1、线性连续系统:用线性微分方程式来描述,如果微分方程的系数为常数,则为定常系统;如果系数随时间而变化,则为时变系统。今后我们所讨论的系统主要以线性定常连续系统为主。 2、线性定常离散系统:离散系统指系统的某处或多处的信号为脉冲序列或数码形式。这类系统用差分方程来描述。 3、非线性系统:系统中有一个元部件的输入输出特性为非线性的系统。 1.1.2系统的数学模型 在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。 1.2计算机模拟控制系统 模拟控制系统由给定输入、模糊控制器、控制对象、检测变送装置、反馈信号与给定输入的相加环节等组成。模拟控制系统的各处均为连续信号,在模拟系统中,给定值与反馈值经过比较器比较产生偏差,控制器对偏差进行调节计算,产生控制信号驱动执行机构,从而被控参数的值达到预期值。其典型结构如下图所示:

线性系统理论Matlab实践仿真报告指南

线性系统理论实验报告 学院:电信学院 姓名:邵昌娟 学号:152085270006 专业:电气工程

线性系统理论Matlab实验报告 1、由分析可知系统的状态空间描述,因系统综合实质上是通过引入适当状态反馈矩阵K,使得闭环系统的特征值均位于复平面S的期望位置。而只有当特征根均位于S的左半平面时系统稳定。故当特征根是正数时系统不稳定,设计无意义。所以设满足题目中所需要求的系统的期望特征根分别为λ1*=-2,λ2*=-4。 (a) 判断系统的能控性,即得系统的能控性判别矩阵Q c,然后判断rankQ c,若rank Q c =n=2则可得系统可控;利用Matlab判断系统可控性的程序如图1(a)所示。由程序运行结果可知:rank Q c =n=2,故系统完全可控,可对其进行状态反馈设计。 (b) 求状态反馈器中的反馈矩阵K,因设系统的期望特征根分别为λ1*=-2,λ2*=-4;所以利用Matlab求反馈矩阵K的程序如图1(b)所示。由程序运行结果可知:K即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。 图1(a) 系统的能控性图1(b) 状态反馈矩阵 2、(a) 求系统的能控型矩阵Q c,验证若rank Q c

弹簧 质量 阻尼系统的建模与控制系统设计

分数: ___________ 任课教师签字:___________ 华北电力大学研究生结课作业 学年学期:第一学年第一学期 课程名称:线性系统理论 学生姓名: 学号:

提交时间:目录

弹簧-质量-阻尼系统的建模与控制系统设计 1 研究背景及意义 弹簧、阻尼器、质量块是组成机械系统的理想元件。由它们组成的弹簧-质量-阻尼系统是最常见的机械振动系统,在生活中具有相当广泛的用途,缓冲器就是其中的一种。缓冲装置是吸收和耗散过程产生能量的主要部件,其吸收耗散能量的能力大小直接关系到系统的安全与稳定。缓冲器在生活中处处可见,例如我们的汽车减震装置和用来消耗碰撞能量的缓冲器,其缓冲系统的性能直接影响着汽车的稳定与驾驶员安全;另外,天宫一号在太空实现交会对接时缓冲系统的稳定与否直接影响着交会对接的成功。因此,对弹簧-质量-阻尼系统的研究有着非常深的现实意义。 2 弹簧-质量-阻尼模型 数学模型是定量地描述系统的动态特性,揭示系统的结构、参数与动态特性之间关系的数学表达式。其中,微分方程是基本的数学模型,不论是机械的、液压的、电气的或热力学的系统等都可以用微分方程来描述。微分方程的解就是系统在输入作用下的输出响应。所以,建立数学模型是研究系统、预测其动态响应的前提。通常情况下,列写机械振动系统的微分方程都是应用力学中的牛顿定律、质量守恒定律等。 弹簧-质量-阻尼系统是最常见的机械振动系统。机械系统如图所示,

图2-1弹簧-质量-阻尼系统机械结构简图 其中、表示小车的质量,表示缓冲器的粘滞摩擦系数,表示弹簧的弹性系数,表示小车所受的外力,是系统的输入即,表示小车的位移,是系统的输出,即,i=1,2。设缓冲器的摩擦力与活塞的速度成正比,其中,, ,,,。系统的建立 由图,根据牛顿第二定律,分别分析两个小车的受力情况,建立系统的动力学模型如下: 对有: 对有:

线性系统理论

Linear Systems Theory: A Structural Decomposition Approach 线性系统理论: 结构分解法 Ben M. Chen (陈本美) 新加坡国立大学 Zongli Lin(林宗利) 美国弗吉尼亚大学 Yacov Shamash (雅科夫 司马诩) 美国纽约州立大学石溪分校

此书献给我们的家人 前两位作者谨以这中译版献给他们的母校 厦门大学

目录 绪论 1 导论和预览 1.1 背景 1.2 各章预览 1.3 符号和术语 2 数学基础 2.1 导论 2.2 矢量空间和子空间 2.3 矩阵代数和特性 2.3.1 行列式、逆和求导 2.3.2 秩、特征值和约当型 2.3.3 特殊矩阵 2.3.4 奇异值分解 2.4 范数 2.4.1 矢量范数 2.4.2矩阵范数 2.4.3 连续时间信号范数 2.4.4 离散时间信号范数 2.4.5 连续时间系统范数 2.4.6 离散时间系统范数 3 线性系统理论复习 3.1 导论 3.2 动态响应 3.3 系统稳定性 3.4 可控性和可观性 3.5 系统可逆性 3.6 常态秩、有限零点和无限零点3.7 几何子空间 3.8 状态反馈和输出馈入的特性3.9 练习

4 无驱动和/或无检测系统的分解 4.1 导论 4.2 自治系统 4.3 无驱动系统 4.4 无检测系统 4.5 练习 5. 正则系统的分解 5.1 导论 5.2 SISO系统 5.3 严格正则系统 5.4 非严格正则系统 5.5 结构化分解特性的证明 5.6 系统矩阵的Kronecker型和Smith型5.7 离散时间系统 5.8 练习 6 奇异系统的分解 6.1 导论 6.2 SISO奇异系统 6.3 MIMO描述系统 6.4 定理6.3.1的证明和性质 6.5 离散时间奇异系统 6.6 练习 7 双线性变换的结构化映射 7.1 导论 7.2 连续到离散时间系统的映射 7.3 离散时间到连续时间系统的映射7.4 定理7.2.1的证明 7.5 练习 8 系统因子分解 8.1 导论 8.2 严格正则系统 8.3 非严格正则系统 8.4 离散时间系统 8.5 练习 9 通过选择传感器/执行器实现的结构配置9.1 导论 9.2 同时有限和无限零点结构配置 9.2.1 SISO系统 9.2.2 MIMO系统

用matlab求解线性规划问题

一、实验目的: 了解Matlab 的优化工具箱,能利用Matlab 求解线性规划问题。 二、实验内容: 线性规划的数学模型有各种不同的形式,其一般形式可以写为: 目标函数: n n x f x f x f z +++= 2211m in 约束条件: s n sn s s n n b x a x a x a b x a x a x a ≤+++≤+++ 221 11 1212111 s n tn t t n n d x c x c x c d x c x c x c =+++=+++ 221 11 1212111 0,,,21≥n x x x 这里 n n x f x f x f z +++= 2211称为目标函数,j f 称为价值系数,T n f f f f ),,,(21 =称为价值向量,j x 为求解的变量,由系数ij a 组成的矩阵 ??????????=mn m n a a a a A 1111 称为不等式约束矩阵,由系数ij c 组成的矩阵 ??????????=sn s n c c c c C 1111 称为等式约束矩阵,列向量 T n b b b b ),,,(21 =和T n d d d d ),,,(21 =为右端向量,条件0≥j x 称为非负约束。一个向量T n x x x x ),,,(21 =,满足约束条件,称为可行解或可行点,所有可行点的集合称为 可行区域,达到目标函数值最大的可行解称为该线性规划的最优解,相应的目标函数值称为最优目标函数值,简称最优值。 我们这里介绍利用Matlab 来求解线性规划问题的求解。 在Matlab 中有一个专门的函数linprog()来解决这类问题,我们知道,极值有最大和最小两种,但求z 的极大就是求z -的极小,因此在Matlab 中以求极小为标准形式,函数linprog()的具体格式如下: X=linprog(f,A,b) [X,fval,exitflag,ouyput,lamnda]=linprog(f,A,b,Aeq,Beq,LB,UB,X0,options) 这里X 是问题的解向量,f 是由目标函数的系数构成的向量,A 是一个矩阵,b 是一个向量,A ,b 和变量x={x1,x2,…,xn}一起,表示了线性规划中不等式约束条件,A ,b 是系数矩阵和右端向量。Aeq 和Beq 表示了线性规划中等式约束条件中的系数矩阵和右端向量。LB 和UB 是约束变量的下界和上界向量,X0是给定的变量的初始值,options 为控制规划过程的参数系列。返回值中fval 是优化结束后得到的目标函数值。exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;exitflag>0表示优化过程中变量收敛于解X ,exitflag<0表示不收敛。output 有3个分量,iterations 表示优化过程的迭代次数,cgiterations 表示PCG 迭代次数,algorithm 表示优化所采用的运算规则。lambda 有4个分量,

RC有源带通滤波器设计与仿真

RC 有源带通滤波器设计与仿真 摘要:简要介绍Pspice10.5的特点以及其实现有源滤波器仿真的基本方法,实现了带通滤波器设计,用仿真软件Pspice 对设计结果进行了仿真。 关键词:有源模拟滤波器;Pspice;仿真;设计 引言 随着数字化进程的不断推进,数字滤波器越来越广泛的应用在各个领域之中。但是模拟滤波器凭借自身的优势仍然有很高的研究价值。所有数字系统的前端,一般需要一个对微弱信号预处理的部分;在抽样量化之前,还需要一个对信号最高频率进行限制的处理。这些都只能使用模拟滤波器。RC 有源滤波器是模拟滤波器中最实用、应用范围最广泛的滤波器。其标准化电路的种类很少,仅使用及R 、C 元件,因此非常便于集成,这给推广应用带来革命性影响。因为不使用电感、特别是大型电感,也因为运放在性能的飞速提高的同时价格却一降再降,所以在成本方面有源滤波器已经变得比无源滤波器还有优势。本文基于这一点简单介绍了RC 有源滤波器的结构,以基于实现带通波器设计为例,完成了其设计过程,并利用电子仿真软件Pspice 进行了仿真。 1、OrCAD/Pspice10.5简介 对于仿真技术而言,目前最流行的是以美国伯克利分校开发的Spice 为核心的仿真软件,而以Spice 为核心开发的最好的仿真软件是OrCAD/Pspice10.5。它之所以流行就是因为他能很好地运行在PC 平台上且能很好地进行模拟数字混合信号的仿真,而且能解决很多设计上的实际问题。OrCAD10.5在以前版本的基础上扩展了许多功能,包括供设计输入的OrCADCaptureR ,供类比与混合讯号模拟用的PspiceRA/DBasics ,供电路板设计的 OrCADLayoutR 以及供高密度电路板自动绕线的SPECCTRAR 4U 。新加入的SPECCTRA ,用以支援设计日益复杂的各种高速、高密度印刷电路板设计。 OrCAD/PSpice 10.5软件的功能特点有: (1)对模拟电路不仅可进行直流、交流、瞬态等基本电路特性分析,而且可进行参数扫描分析和统计分析。 (2)以OrCAD/Capture 作为前端,除了以利用Capture 的电路图输入这一基本功能外,还可以实现OrCAD 中设计项目统一管理。 (3)将电路模拟结果和波形显示分析两个模块集成在一起。Probe 只是其中的一个窗口,在屏幕上可同时显示波形和输出文本等内容,Probe 还具有电路性能分析功能。 (4)使用PSpice 优化器能调整电路,在一定的约束条件下,对电路的某些参数进行调整,直到电路的性能达到要求为止。 2、RC 有源滤波器的设计 根据线性系统理论,n 阶滤波器的传递函数的一般形式为 11 10 111)()()(a s a s a s b s b s b s b s U s U s A n n n m m m m i o ++++++++==---- (1) (1)式中,m ≤n ;一个复杂的传递函数可以分解成几个简单的传递函数的乘积。上式中, 若n 为偶数,可分解为n/2个二阶滤波器的级联;而若n 为奇数,则可分解成一个一阶滤波器和(n-1)/2个二阶滤波器的级联。一阶、二阶滤波器是构成高阶滤波器的基本单元,二阶 滤波器单元传递函数可以写为:0 120 122)(a s a s b s b s b s A ++++=,其中分子系数0b 、1b 、2b 决定了 传递函数的零点位置,即决定滤波器类型(低通、高通、带通、带阻),分母系数1a 、0a 决

大学matlab课程设计图像的傅里叶变换及其应用

课程名称: MATLAB及在电子信息课程中的应用实验名称:图像的傅里叶变换及其应用 设计四图像的傅里叶变换及其应用

一、设计目的 通过该设计,掌握傅里叶变换的定义及含义。 二、设计内容及主要的MATLAB 函数 1、图像的离散傅里叶变换 假设),(n m f 是一个离散空间中的二维函数,则该函数的二维傅里叶变换定义为 n j m j e e n m f f 21),()2,1(ωωωω--∞∞-∞∞-∑∑= 其中21ωω和是频域变量,单位是弧度/采样单元。函数),(21ωωf 为函数),(n m f 的频谱。 二维傅里叶反变换的定义为21212121),(),(ωωωωωωπ πωππωd d e e f n m f n j m j ??-=-== 因此,函数),(n m f 可以用无数个不同频率的复指数信号的和表示,在频率),(21ωω处复指数信号的幅度和相位为),(21ωωf MATLAB 提供的快速傅里叶变换函数 1)fft2:用于计算二维快速傅里叶变换,其语法格式为 b=fft2(I),返回图像I 的二维傅里叶变换矩阵,输入图像I 和输出图像B 大小相同; b=fft2(I,m,n),通过对图像I 剪切或补零,按用户指定的点数计算二维傅里叶变换,返回矩阵B 的大小为m ?n 。 很多MATLAB 图像显示函数无法显示复数图像,为了观察图像傅里叶变换后的结果,应对变换后的结果求模,方法是对变换结果使用abs 函数。 2)fftn :用于计算n 维快速傅里叶变换,其语法格式为 b=fftn(I),计算图像的n 维傅里叶变换,输出图像B 和输入图像I 大小相同; b=fftn(I, size),通过对图像I 剪切或补零,按size 指定的点数计算n 维傅里叶变换,返回矩阵B 的大小为size 。 3) fftshift :用于将变换后的图像频谱中心从矩阵的原点移到矩阵的中心,其语法格式为 b=fftshift(I),将变换后的图像频谱中心从矩阵的原点移到矩阵的中心。

运用Matlab进行线性规划求解实例

8.2 线性规划 线性规划是处理线性目标函数和线性约束的一种较为成熟的方法,目前已经广泛应用于军事、经济、工业、农业、教育、商业和社会科学等许多方面。 8.2.1 基本数学原理 线性规划问题的标准形式是: ????? ??????≥=+++=+++=++++++=0,,,min 21221122222121112 121112211n m n mn m m n n n n n n x x x b x a x a x a b x a x a x a b x a x a x a x c x c x c z ΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛ 或 ???? ?????=≥===∑∑==n j x m i b x a x c z j n j i j ij n j j j ,,2,1,0,,2,1,min 1 1ΛΛ 写成矩阵形式为: ?? ???≥==O X b AX CX z min 线性规划的标准形式要求使目标函数最小化,约束条件取等式,变量b 非负。不符合这几个条件的线性模型可以转化成标准形式。 MATLAB 采用投影法求解线性规划问题,该方法是单纯形法的变种。 8.2.2 有关函数介绍 在MATLAB 工具箱中,可用linprog 函数求解线性规划问题。 linprog 函数的调用格式如下: ●x=linprog(f,A,b):求解问题minf'*x ,约束条件为A*x<=b 。 ●x=linprog(f,A,b,Aeq,beq):求解上面的问题,但增加等式约束,即Aeq*x=beq 。若没有不等式约束,则令A=[ ],b=[ ]。 ●x=linprog(f,A,b,Aeq,beq,lb,ub):定义设计x 的下界lb 和上界ub ,使得x 始终在该范围内。若没有等式约束,令Aeq=[ ],beq=[ ]。 ●x=linprog(f,A,b,Aeq,beq,lb,ub,x0):设置初值为x0。该选项只适用于中型问题,默认时大型算法将忽略初值。 ●x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options):用options 指定的优化参数进行最小化。 ●[x,fval]=linprog(…):返回解x 处的目标函数值fval 。 ●[x,lambda,exitflag]=linpro g(…):返回exitflag 值,描述函数计算的退出条件。 ●[x,lambda,exitflag,output]=linprog(…):返回包含优化信息的输出参数output 。 ●[x,fval,exitflag,output,lambda]=linprog(…):将解x 处的拉格朗日乘子返回到

全维状态观测器的设计

实 验 报 告 课程 线性系统理论基础 实验日期 2016年 6月 6 日 专业班级 学号 同组人 实 验 名 称 全 维 状 态 观 测 器 的 设 计 评分 批阅教师签字 一、实验目的 1. 学习用状态观测器获取系统状态估计值的方法,了解全维状态观测器的极点对状态的估计误差的影响; 2. 掌握全维状态观测器的设计方法; 3. 掌握带有状态观测器的状态反馈系统设计方法。 二、实验容 开环系统? ??=+=cx y bu Ax x ,其中 []0100001,0,10061161A b c ????????===????????--???? a) 用状态反馈配置系统的闭环极点:5,322-±-j ; b) 设计全维状态观测器,观测器的极点为:10,325-±-j ; c) 研究观测器极点位置对估计状态逼近被估计值的影响; d) 求系统的传递函数(带观测器及不带观测器时);

绘制系统的输出阶跃响应曲线。 三、实验环境 MATLAB6.5 四、实验原理(或程序框图)及步骤 利用状态反馈可以使闭环系统的极点配置在所希望的位置上,其条件是必须对全部状态变量都能进行测量,但在实际系统中,并不是所有状态变量都能测量的,这就给状态反馈的实现造成了困难。因此要设法利用已知的信息(输出量y和输入量x),通过一个模型重新构造系统状态以对状态变量进行估计。该模型就称为状态观测器。若状态观测器的阶次与系统的阶次是相同的,这样的状态观测器就称为全维状态观测器或全阶观测器。 设系统完全可观,则可构造如图4-1所示的状态观测器 图4-1 全维状态观测器 为求出状态观测器的反馈ke增益,与极点配置类似,也可有两种方法: 方法一:构造变换矩阵Q,使系统变成标准能观型,然后根据特征方程求出k e ; 方法二:是可采用Ackermann公式:

线性系统极点配置和状态观测器基于设计(matlab) - 最新版本

一. 极点配置原理 假设原系统的状态空间模型为: ???=+=Cx y Bu Ax x 若系统是完全可控的,则可引入状态反馈调节器,且: 这时,闭环系统的状态空间模型为: ()x A BK x Bv y Cx =-+?? =? 二. 状态观测器设计原理 假设原系统的状态空间模型为: ???=+=Cx y Bu Ax x 若系统是完全可观的,则可引入全维状态观测器,且: ??(y y)??x Ax Bu G y Cx ?=++-??=?? 设?x x x =-,闭环系统的状态空间模型为: ()x A GC x =- 解得: (A GC)t (0),t 0x e x -=≥ 由上式可以看出,在t 0≥所有时间内,如果(0)x =0,即状态估计值x 与x 相等。如果(0)0x ≠,两者初值不相等,但是()A GC -的所有特征值具有负实部,这样 x 就能渐进衰减至零,观测器的状态向量?x 就能够渐进地逼近实际状态向量x 。状态逼近的速度取决于G 的选择和A GC -的特征配置。 三. 状态观测的实现 为什么要输出y 和输入u 对系统状态x 进行重构。 u Kx v =-+

证明 输出方程对t 逐次求导,并将状态方程x Ax Bu =+代入整理,得 2(n 1)(n 2)(n 3)21n n y Cx y CBu CAx y CBu CABu CA x y CBu CABu CA Bu CA x -----=??-=??--=????----=? 将等号左边分别用z 的各分量12,, ,n z z z 表示,有 121(n 1)(n 2)(n 3) 2 n n n y C z y CBu CA z z y CBu CABu x Qx z CA y CBu CABu CA Bu -----?? ???????? -?? ????? ? ? ?????==--==?? ????????????????????----?? ? 如果系统完全能观,则 rankQ n = 即 1?(Q Q)T T x Q z -= (类似于最小二乘参数估计) 综上所述,构造一个新系统z ,它是以原系统的输出y 和输入u ,其输出经过变 换1(Q Q)T T Q -后得到状态向量?x 。也就是说系统完全能观,状态就能被系统的输入输出以及各阶倒数估计出来。 四. 实例 给定受控系统为 再指定期望的闭环极点为12,341,1,2i λλλ*** =-=-±=-,观测器的特征值为 12,33,32i λλ=-=-±,试设计一个观测器和一个状态反馈控制系统,并画出系统 的组成结构图。 []0100000101000100 05 021000x x u y x ???? ????-????=+????????-???? =

线性系统理论作业

《线性系统理论》 设计报告 专业: 学号: 姓名: 教师:

取状态变量为X=[U d,I d,n]T, 则系统的状态空间描述为:{X=AX+Bu+ET l Y=CX 其中A= [?1 T s 0 0 1 T la R ?1 T la ?C e T la R 0 375C T GD2 0] B=[ K s T S ]E=[ ?375 GD2 ] C=[0 0 1 ] 代入数据得:A=[?588.235 0 0 26.709 ?20.833 ?3.678 0 48.821 0 ]B=[ 23529.41 ] 通过matlab检测系统的能控能观性并求出系统的特征值: 对应的matlab程序如下: %原始系统能控能观性判断与特征值求解% A=[-588.235 0 0;26.709 -20.833 -3.678;0 48.821 0]; B=[23529.41 0 0]'; C=[0 0 1]; D=0; disp(eig(A)); % 计算并输出特征值 % sys1=ss(A,B,C,D); Qc=ctrb(A,B); %生成能控性判别矩阵% Qo=obsv(A,C); %生成能观性判别矩阵% if length(A)==rank(Qc) %系统能控性判别% disp('系统完全可控!'); else disp('系统不完全可控!'); end if length(A)==rank(Qo) %系统能观性判别% disp('系统完全可观!'); else disp('系统不完全可观!'); end 运行结果如下: 1.0e+002 * -0.104165000000000 + 0.084297191975771i -0.104165000000000 - 0.084297191975771i -5.882350000000000 系统完全可控! 系统完全可观! 系统特征值实部均为负,由此可知该系统为外部稳定的能控但不能观测系统,设负载转矩为0时,输入为阶跃信号,系统的simulink仿真如下:

线性系统理论MATLAB大作业.(DOC)

兰州理工大学2015级线性系统理论大作业 线性系统理论Matlab 实验报告 1、在造纸流程中,投料箱应该把纸浆流变成2cm 的射流,并均匀喷洒在网状传送带上。为此,要精确控制喷射速度和传送速度之间的比例关系。投料箱内的压力是需要控制的主要变量,它决定了纸浆的喷射速度。投料箱内的总压力是纸浆液压和另外灌注的气压之和。由压力控制的投料箱是个耦合系统,因此,我们很难用手工方法保证纸张的质量。 在特定的工作点上,将投料箱线性化,可以得到下面的状态空间模型: u x x ?? ????+??????-+-=0001.0105.0002.002.08.0. []21,x x y = 其中,系统的状态变量x1=液面高度,x2=压力,系统的控制变量u1=纸浆流量u2=气压阀门的开启量。在上述条件下,试设计合适的状态变量反馈控制器,使系统具有实特征根,且有一个根大于5 解:本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数时系统不稳定,这样的设计是无意义的,故而不妨采用状态反馈后的两个期望特征根为-7,-6,这样满足题目中所需的要求。要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控。 Matlab 判断该系统可控性和求取状态反馈矩阵K 的程序,如图1所示,同时求得加入状态反馈后的特征根并与原系统的特征根进行了对比。

图1系统能控性、状态反馈矩阵和特征根的分析程序上述程序的运行结果如图2所示: 图2系统能控性、反馈矩阵和特征根的运行结果

用matlab求解线性规划问题

实验四 用MATLAB 求解线性规划问题 一、实验目的: 了解Matlab 的优化工具箱,能利用Matlab 求解线性规划问题。 二、实验内容: 线性规划的数学模型有各种不同的形式,其一般形式可以写为: 目标函数: n n x f x f x f z +++= 2211mi n 约束条件: s n sn s s n n b x a x a x a b x a x a x a ≤+++≤+++ 221 11 1212111 s n tn t t n n d x c x c x c d x c x c x c =+++=+++ 221 11 1212111 0,,,21≥n x x x 这里 n n x f x f x f z +++= 2211称为目标函数,j f 称为价值系数,T n f f f f ),,,(21 =称为价值向量,j x 为求解的变量,由系数ij a 组成的矩阵 ??????????=mn m n a a a a A 1111 称为不等式约束矩阵,由系数ij c 组成的矩阵 ??????????=sn s n c c c c C 1111 称为等式约束矩阵,列向量 T n b b b b ),,,(21 =和T n d d d d ),,,(21 =为右端向量,条件0≥j x 称为非负约束。一个向量T n x x x x ),,,(21 =,满足约束条件,称为可行解或可行点,所有可行点的集合称为 可行区域,达到目标函数值最大的可行解称为该线性规划的最优解,相应的目标函数值称为最优目标函数值,简称最优值。 我们这里介绍利用Matlab 来求解线性规划问题的求解。 在Matlab 中有一个专门的函数linprog()来解决这类问题,我们知道,极值有最大和最小两种,但求z 的极大就是求z -的极小,因此在Matlab 中以求极小为标准形式,函数linprog()的具体格式如下: X=linprog(f,A,b) [X,fval,exitflag,ouyput,lamnda]=linprog(f,A,b,Aeq,Beq,LB,UB,X0,options) 这里X 是问题的解向量,f 是由目标函数的系数构成的向量,A 是一个矩阵,b 是一个向量,A ,b 和变量x={x1,x2,…,xn}一起,表示了线性规划中不等式约束条件,A ,b 是系数矩阵和右端向量。Aeq 和Beq 表示了线性规划中等式约束条件中的系数矩阵和右端向量。LB 和UB 是约束变量的下界和上界向量,X0是给定的变量的初始值,options 为控制规划过程的参数系列。返回值中fval 是优化结束后得到的目标函数值。exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;exitflag>0表示优化过程中变量收敛于解X ,exitflag<0表示不收敛。output 有3个分量,iterations 表示优化过程的迭代次数,cgiterations 表示PCG 迭代次数,algorithm 表示优化所采用的运算规则。lambda 有4个分量,ineqlin 是线

1_用MATLAB处理线性系统数学模型

实验二 用MATLAB 处理线性系统数学模型 [说明] 一个控制系统主要由被控对象、测量装置、控制器和执行器四大部分构成。MATLAB 软件的应用对提高控制系统的分析、设计和应用水平起着十分重要的作用。采用MATLAB 软件仿真的关键问题之一是在MATLAB 软件平台上怎样正确表示被控对象的数学模型。 [实验目的] 1.了解MATLAB 软件的基本特点和功能; 2.掌握线性系统被控对象传递函数数学模型在MATLAB 环境下的表示方法及转换; 3.掌握多环节串联、并联、反馈连接时整体传递函数的求取方法; 4. 掌握在SIMULINK 环境下系统结构图的形成方法及整体传递函数的求取方法; 5.了解在MATLAB 环境下求取系统的输出时域表达式的方法。 [实验指导] 一、被控对象模型的建立 在线性系统理论中,一般常用的描述系统的数学模型形式有: (1)传递函数模型——有理多项式分式表达式 (2)传递函数模型——零极点增益表达式 (3)状态空间模型(系统的内部模型) 这些模型之间都有着内在的联系,可以相互进行转换。 1、传递函数模型——有理多项式分式表达式 设系统的传递函数模型为 111011 1......)()()(a s a s a s a b s b s b s b s R s C s G n n n n m m m m ++++++++= =---- 对线性定常系统,式中s 的系数均为常数,且a n 不等于零。 这时系统在MATLAB 中可以方便地由分子和分母各项系数构成的两个向量唯一地确定,这两个向量常用num 和den 表示。 num=[b m ,b m-1,…,b 1,b 0] den=[a n ,a n-1,…,a 1,a 0]

用matlab求解线性规划问题

1 实验四 用MATLAB 求解线性规划问题 一、实验目的: 了解Matlab 的优化工具箱,能利用Matlab 求解线性规划问题。 二、实验内容: 线性规划的数学模型有各种不同的形式,其一般形式可以写为: 目标函数: n n x f x f x f z +++= 2211m i n 约束条件: s n sn s s n n b x a x a x a b x a x a x a ≤+++≤+++ 22111 1212111 s n tn t t n n d x c x c x c d x c x c x c =+++=+++ 22111 1212111 ,,,21≥n x x x 这里n n x f x f x f z +++= 2211称为目标函数, j f 称为价值系数, T n f f f f ) ,,,(21 =称为价值向 量, j x 为求解的变量,由系数 ij a 组成的矩阵 ???? ? ?????=mn m n a a a a A 1 111 称为不等式约束矩阵,由系数ij c 组成的矩阵 ???? ? ?????=sn s n c c c c C 1 111 称为等式约束矩阵,列向量T n b b b b ) ,,,(21 =和 T n d d d d ) ,,,(21 =为右端向量,条件 ≥j x 称为 非负约束。一个向量 T n x x x x ) ,,,(21 =,满足约束条件,称为可行解或可行点,所有可行点的集合称为 可行区域,达到目标函数值最大的可行解称为该线性规划的最优解,相应的目标函数值称为最优目标函数 值,简称最优值。 我们这里介绍利用Matlab 来求解线性规划问题的求解。 在Matlab 中有一个专门的函数linprog()来解决这类问题,我们知道,极值有最大和最小两种,但求z 的极大就是求z -的极小,因此在Matlab 中以求极小为标准形式,函数linprog()的具体格式如下: X=linprog(f,A,b) [X,fval,exitflag,ouyput,lamnda]=linprog(f,A,b,Aeq,Beq,LB,UB,X0,options) 这里X 是问题的解向量,f 是由目标函数的系数构成的向量,A 是一个矩阵,b 是一个向量,A ,b 和变量x={x1,x2,…,xn}一起,表示了线性规划中不等式约束条件,A ,b 是系数矩阵和右端向量。Aeq 和Beq 表示了线性规划中等式约束条件中的系数矩阵和右端向量。LB 和UB 是约束变量的下界和上界向量,X0是给定的变量的初始值,options 为控制规划过程的参数系列。返回值中fval 是优化结束后得到的目标函数值。exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;exitflag>0表示优化过

相关主题
文本预览
相关文档 最新文档