文档库 最新最全的文档下载
当前位置:文档库 › 现代控制理论实验 用 MATLAB分析状态空间模型

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

实验报告

现代控制理论实验指导书

1.7 MATLAB 在系统数学模型中的应用 MATLAB 是美国MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、 数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MA TLAB 和Simulink 两大部分。通过使用MATLAB 可以更方便地对控制系统进行学习探讨和研究。本节主要介绍MA TLAB 在线性定常系统数学模型的建立和分析中的应用。 1.7.1 线性系统的数学模型 1. 传递函数模型 设单输入单输出连续系统的传递函数为: 111211 011()n m n n n n n n b s b s b s b G s a s a s a s a -----++++=++++ 在MA TLAB 中,可用传递函数分子、分母多项式按s 的降幂系数排列的行向量,即: [][]121011,,,,;,,,,; n n n n num b b b b den a a a a --== MTALAB 中,可调用tf()函数建立系统的传递函数模型TF : (),;sys tf num den = [例1-25] 已知系统的传递函数为: 23231 ()246 s s G s s s s ++=+++ 试用MATLAB 描述其系统模型。 解:MATLAB 代码如下: 运行结果如下: 类似的,对于单输入单输出离散系统的脉冲传递函数为: 111211011()n m n n n n n n b z b z b z b G z a z a z a z a -----++++= ++++

在MA TLAB 中,同样可调用tf()函数建立系统的传递函数模型TF : [][]() 121011,,,,;,,,,;,,n n n n num b b b b den a a a a sys tf num den T --=== 式中,T 为系统采样周期。 另外,系统的传递函数还可以表示为零极点的形式: 1212()()() ()()()() m n s z s z s z G s k s p s p s p ---=--- 其调用格式为: [][]1212,,,;,,,;; (,,) m n z z z p p p k k sys zpk k ====z p z p 2. 状态空间模型 m 维输入、r 维输出的线性定常系统的状态空间表达式为 ()()()()()()t t t t t t =+?? =+? x Ax Bu y Cx Du 式中,n R ∈x ——系统的n 维状态向量; n R ∈u ——系统的r 维输入向量; R m ∈y ——系统的m 维输出向量; R n n ?∈A ——n n ?维系统矩阵; n r R ?∈B ——n r ?维输入矩阵; m n R ?∈C ——m n ?维输出矩阵; m r R ?∈D ——m r ?维输入输出关联矩阵; 在MA TLAB 中,可调用ss()函数建立系统的状态空间模型: [][][][]111212122212111212122212111212122212111212122212,,,;,,,;;,,,;,,,;,,,;;,,,;,,,;,,,;;,,,;,,,;,,,;;,,,;(,,,) n n n n nn n n n n nn n n n n nn n n n n nn a a a a a a a a a b b b b b b b b b c c c c c c c c c d d d d d d d d d sys ss =====A B C D A B C D 对于线性定常离散系统:

现代控制理论实验报告

现代控制理论实验报告

实验一 系统的传递函数阵和状态空间表达式的转换 一、实验目的 1.熟悉线性系统的数学模型、模型转换。 2.了解MATLAB 中相应的函数 二、实验内容及步骤 1.给定系统的传递函数为 150 3913.4036 18)(2 3++++= 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 模型 ?????? ??????+++++++++++=7266 11632256 51 2)(2 32 2s 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,010001 1601384.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]; >> G=tf(num,den) Transfer function: 18 s + 36

现代控制理论实验报告

现代控制理论实验 院系:计算机与电子信息学院 班级:电气09-1 : 学号: 指导老师:禹柳飞

实验一线性控制系统状态空间法分析 第一部分线性控制系统状态空间模型的建立及转换 一、实验目的 1 掌握线性控制系统状态空间模型的建立方法。 2 掌握MATLAB中的各种模型转换函数。 二、实验项目 1 已知系统的传递函数求取其状态空间模型。 2 MATLAB中各种模型转换函数的应用。 3 连续时间系统的离散化。 三、实验设备与仪器 1、计算机 2、MATLAB软件 四、实验原理及容 (一)系统数学模型的建立 1、传递函数模型—tf 功能:生成传递函数,或者将零极点模型或状态空间模型转换成传递函数模型。 格式:G=tf(num,den) 其中,(num,den)分别为系统的分子和分母多项式系数向量。返回的变量G为传递函数对象。 【例】:已知 G(S)= 用MATLAB语句将上述传递函数表示出来。 编程如下:num=[2 9];den=[1 2 4 6]; Sys=tf(num,den) MATLAB中运行结果如下图所示:

2、状态方程模型—ss 功能:生成状态方程,或者将零极点模型或传递函数模型转换成状态方程模型。 格式:G=ss(A,B,C,D) 其中,A,B,C,D分别为状态方程的系统矩阵、输入矩阵、输出矩阵和前馈矩阵。【例】:已知系统状态空间模型为 编程如下:>>A=[0 1;-1 -2]; >>B=[0;1]; >>C=[1,3]; D=1]; >>G=ss(A,B ,C ,D) 运行结果如下图:

3、零极点模型—zpk 功能:生成零极点模型,或将状态方程模型或传递函数模型转换成零极点模型。 格式:G=zpk(z, p, K) 其中,z,p,K分别表示系统的零点、极点和增益。 【例】:G(s)=6(s+3)/(s+1)(s+2)(s+5)使用MATLAB语句将上述零极点增益模型表示出来。 编程如下:z=[-3];p=[-1,-2,-5]; k=[6]; G=zpk(z,p,k)

现代控制理论-基于MATLAB的实验指导书课程设计指导书

现代控制理论 基于MATLAB的实验指导书

第一部分实验要求 1.实验前做好预习。 2.严格按照要求操作实验仪器,用毕恢复原状。 3.实验完成后,由指导教师检查实验记录、验收仪器后,方可离开。 4.实验报告应包括以下内容: 1)实验目的; 2)实验原理图; 3)实验内容、步骤; 4)仿真实验结果(保留仿真实验波形,读取关键参数); 5)仿真实验结果分析。 第二部分MATLAB平台介绍 实际生产过程中,大部分的系统是比较复杂的,并且要考虑安全性、经济性以及进行实验研究的可能性等,这在现场实验中往往不易做到,甚至根本不允许这样做。这时,就需要把实际系统建立成物理模型或数学模型进行研究,然后把对模型实验研究的结果应用到实际系统中去,这种方法就叫做模拟仿真研究,简称仿真。 到目前为止,已形成了许多各具特色的仿真语言。其中美国Mathworks软件公司的动态仿真集成软件Simulink与该公司著名的MATLAB软件集成在一起,成为当今最具影响力的控制系统应用软件。 国内MA TLAB软件的著名论坛为“MATLAB中文论坛”,网址为:https://https://www.wendangku.net/doc/2f19365081.html,/forum.php,建议同学们注册并参与论坛相关内容的讨论。 图1 MA TLAB仿真环境

第三部分 实验 实验一 线性系统的时域分析 实验目的 熟悉MATLAB 环境,掌握用MATLAB 控制系统工具箱进行线性定常系统的时域分析、能控性与能观性分析、稳定性分析的方法。 实验要求 完成指导书规定的实验内容,记录并分析实验结果,写出实验报告。 实验内容 1.已知系统的状态模型,求系统在单位阶跃输入下的各状态变量、输出响应曲线。 例:[]⎥⎦ ⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡2121214493.69691.1,0107814.07814.05572.0x x y u x x x x 。 键入:a = [-0.5572, -0.7814; 0.7814,0]; b = [1; 0]; c = [1.9691, 6.4493]; d = 0; [y, x, t]=step(a, b, c, d); plot(t, y); grid (回车,显示输出响应曲线。) plot(t,x); grid (回车,显示状态变量曲线。) 或plot(t, x(:, i)); grid (回车,显示第i 个状态变量曲线。) (1)[]⎥⎦⎤ ⎢⎣⎡=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡21212121,103210x x y u x x x x (2)[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦ ⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡321321321154,1006116100110x x x y u x x x x x x 思考:增加初始条件:(0,0)(1,1)x =绘制系统的输出响应曲线。

现代控制理论实验matlab 报告

实验一系统的传递函数阵和状态空间表达式的转换 实验目的: 1、学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数 相互转换的方法; 2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换的方法。实验内容及结果: >>num=[0 0 1 2;0 1 5 3]; den=[1 2 3 4]; [A,B,C,D]=tf2ss(num,den) 实验二状态空间控制模型系统仿真及状态方程求解 实验目的: 1、熟悉线性连续系统的状态空间控制模型的各种表示方法; 2、熟悉系统模型之间的转换功能; 3、利用MATLAB对线性定常系统进行动态分析。

实验内容及结果(1) >>num=[1 2 1 3]; den=[1 0.5 2 1]; sys=tf(num,den); sys1=tf2zp(num,den); sys2=tf2ss(num,den); impulse(sys); step(num,den,t);

>>A=[0 1;-10 -5]; B=[0;0]; D=B; C=[1 0;0 1]; x0=[2;1]; [y,x,t]=initial(A,B,C,D,x0); plot(t,x(:,1),t,x(:,2)) grid title('Response to initial condition') xlabel('Time(sec)') ylabel('x1,x2') text(0.55,1.15,'x1') text(0.4,-2.9,'x2')

>>A=[-1 -1;6.5 0]; B=[1 1;1 0]; C=[1 0;0 1]; D=[0 0;0 0]; step(A,B,C,D)

《现代控制理论》实验指导书学生版

实验报告要求 1 实验预习要求学生认真学习教材中相关MATLAB仿真的内容,运行书中实例(如 例1-20至例1-28的程序,相应写成exm1-20.m至exm1-28.m文件)。认真总结MATLAB相关函数种类及调用格式。 2学生应按照韶关学院学生实验报告册的要求填写实验预习报告内容如实验目的、实验所用主要仪器、实验原理与公式、实验预习数据等项目。 3列写实验报告内容应包含主要实验步骤、实验程序、实验计算数据及实验波形及指导书所要求的实验结果 4 实验报告应由学生自己编写,重视体验性过程。实验采用分散实验的方式进行。 5 实验的个性化提示 5.1实验内容中的对象可以也应该不同,可以是教材或指导书的例子或习题等。5.2实验报告只交电子文档,电子文档按学号姓名做子目录如(张三)在规定时间内交学习委员打包发给老师,无需打印(如学校要求打印则另行通知)。 《现代控制理论》课程考核 闭卷理论考试60%,计算机考试20%,实验报告(10%),平时考勤及作业占课程成绩(10%)。复习及闭卷考试内容另告。 实验报告每人必做,否则按学校规定不允许参加考试(包括机试和笔试)。 《现代控制理论》课程计算机考试 1 机试占课程成绩的20% 2 机试内容为实验内容即将书中相关习题用MATLAB完成。 3 机试采用统一时间、统一地点(机房)、统一试题的方式进行,每人一台PC 机,事先安装好MATLAB软件。机试时间另定。

2 《现代控制理论》实验指导书 实验设备 PC 计算机1台(要求P4-1.8G 以上),MATLAB6.X 软件1套。 实验1 系统的传递函数阵和状态空间表达式的转换 [实验目的] 1 学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法; 2 通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。 [实验原理] 设系统的模型如式(1.1)示。 p m n R y R u R x D Cx y Bu Ax x ∈∈∈⎩⎨ ⎧+=+= (1.1) 其中A 为n ×n 维系数矩阵、B 为n ×m 维输入矩阵 C 为p ×n 维输出矩阵,D 为传递阵,一般情况下为0,只有n 和m 维数相同时,D=1。系统的传递函数阵和状态空间表达式之间的关系如式(1.2)示。 D B A SI C s den s num s G +-== -1)() () (()( (1.2)

现代控制理论基础实验指导书200

现代控制理论基础实验指导书 实验一:控制系统模型转换 一、实验目的 1.掌握控制系统模型转换,并使用计算机仿真软件验证。 2.学习并会简单应用MATLAB软件。 二、实验器材 [1] 微型计算机 [2] MATLAB软件 三、实验要求与任务 1.设系统的零极点增益模型为,求系统的传递函数及状态空间模型。 解:在MATLAB软件中,新建m文件,输入以下程序后保存并运行。 %Example 1 % k=6; z=[-3]; p=[-1,-2,-5]; [num,den]=zp2tf(z,p,k) [a,b,c,d]=zp2ss(z,p,k) 其中:zp2tf函数——变零极点表示为传递函数表示 zp2ss函数——变零极点表示为状态空间表示 记录实验结果,并给出系统的传递函数及状态空间模型。 2.给定离散系统状态空间方程 求其传递函数模型和零极点模型,并判断其稳定性。 解:在MATLAB软件中,新建m文件,输入以下程序后保存并运行。 %Example 2 % a=[ 0 0 ; 0 0 0; ;0 0 0]; b=[1;0;1;0]; c=[0,0,0,1];d=[0]; [num,den]=ss2tf(a,b,c,d) [z,p,k]=ss2zp(a,b,c,d) pzmap(p,z) title('Pole-zero Map') 其中:ss2tf函数——变状态空间表示为传递函数表示 ss2zp函数——变状态空间表示为零极点表示 pzmap ——零极点图 记录实验结果,并给出系统的传递函数模型和零极点模型;绘出图形,并判断系统稳定性。3.已知系统的传递函数为,求系统的零极点增益模型及状态空间模型。 tf2zp函数——变系统传递函数形式为零极点增益形式 tf2ss函数——变系统传递函数形式为状态空间表示形式 编写程序,记录实验结果,并给出系统的状态空间模型和零极点模型。

现代控制理论的MATLAB实现

现代控制理论的MATLAB实现 现代控制理论是控制工程中一门重要的学科,它研究如何设计和分析控制系统以满足一定的性能指标。MATLAB是一种功能强大的科学计算和工程仿真软件,广泛应用于控制系统设计与分析。本文将介绍现代控制理论的一些常见方法在MATLAB中的实现。 1.线性系统的状态空间表示 线性系统的状态空间表示是现代控制理论的核心内容之一、在MATLAB中,可以使用`ss`命令创建线性系统的状态空间模型。例如,假设存在一个二阶线性时不变系统,其传递函数为: ![Transfer Function](transfer_function.png) 可以使用以下代码将其转换为状态空间模型: ```matlab num = [1]; den = [1, 1, 1]; sys = tf(num, den); ss_sys = ss(sys); ``` 2.线性系统的传递函数表示

传递函数是描述线性系统输入输出关系的一种常用表示方法。在MATLAB中,可以使用`tf`命令创建线性系统的传递函数模型。例如,假设存在一个二阶线性时不变系统,其状态空间描述为: ```matlab A=[0,1;-1,-1]; B=[0;1]; C=[1,0]; D=0; ss_sys = ss(A, B, C, D); ``` 可以使用以下代码将其转换为传递函数模型: ```matlab tf_sys = tf(ss_sys); ``` 3.常见控制器的设计与分析 现代控制理论中常用的控制器设计方法包括PID控制器、根轨迹法、频率域分析等。在MATLAB中,可以使用`pid`命令创建PID控制器,并使用`rlocus`命令绘制根轨迹图。例如,创建一个PID控制器:```matlab Kp=1;

用MATLAB分析状态空间模型

用MATLAB分析状态空间模型 状态空间模型是一种用于描述动态系统的数学模型。在MATLAB中, 可以使用状态空间方法对系统进行分析和控制。本文将从状态空间模型的 定义、矩阵表示、稳定性以及控制器设计等方面进行详细介绍。 一、状态空间模型的定义 状态空间模型是一种描述动态系统的数学模型,其中系统的行为是通 过状态变量的演化来表示的。状态空间模型通常由一组一阶微分方程表示,形式如下: dx(t) -------------------=Ax(t)+Bu(t) dt y(t)=Cx(t)+Du(t) 其中,x(t)是状态变量向量,表示系统的内部状态;u(t)是输入向量,表示对系统的外部输入;y(t)是输出向量,表示观测到的系统输出;A、B、C和D分别是系统的状态矩阵、输入矩阵、输出矩阵和直接传递矩阵。 二、状态空间模型的矩阵表示 在MATLAB中,可以使用矩阵表示状态空间模型。假设有一个由状态 变量x、输入变量u和输出变量y组成的系统,可以通过矩阵表示如下:x'=Ax+Bu y=Cx+Du

其中,x'表示状态变量x的导数。在MATLAB中,可以使用matrix函 数创建状态矩阵A、输入矩阵B、输出矩阵C和直接传递矩阵D。例如, 可以使用如下代码定义一个状态空间模型: A=[12;34]; B=[1;1]; C=[10]; D=0; sys = ss(A, B, C, D); 在上述代码中,创建了一个状态空间模型sys,其中状态矩阵A是一 个2×2的矩阵,输入矩阵B是一个2×1的矩阵,输出矩阵C是一个 1×2的矩阵,直接传递矩阵D是一个标量。 三、状态空间模型的稳定性分析 在控制系统设计中,稳定性是一个重要的指标。对于线性时不变系统,可以使用状态空间模型进行稳定性分析。MATLAB提供了一些函数用于稳 定性分析,如eig、pole和isstable等。 eig函数用于计算系统的特征值,特征值的实部决定了系统的稳定性。如果所有特征值的实部都小于零,则系统是稳定的。 pole函数用于计算系统的极点,同样也可以用来判断系统的稳定性。如果所有极点的实部都小于零,则系统是稳定的。 isstable函数用于判断系统是否稳定,返回一个逻辑值。如果系统 是稳定的,则返回true;否则返回false。

在MATLAB中使用状态空间模型进行设计

在MATLAB中使用状态空间模型进行设计 MATLAB是一种功能强大的计算机工具,可以用于各种科学计算、数据可视化和算法开发等任务。在控制系统设计中,MATLAB也是一个重要的工具,可以用来建立和分析控制系统模型。其中,状态空间模型是一种常用的表示方法,可以描述系统的动态行为和状态变化。 状态空间模型是一种数学模型,用一组微分方程描述系统的动态行为。它通过将系统内部的状态变量以及输入和输出变量进行关联,来描述系统的演化过程。状态空间模型可以用矩阵形式表示,这种表示方法直观而且方便进行计算。 在MATLAB中,可以使用StateSpace类来构建状态空间模型。StateSpace类可以接受系统的系数矩阵作为输入,然后根据这些系数矩阵构建一个状态空间模型对象。这个对象可以用来进行模型分析、设计和模拟等操作。下面我们将介绍一些常用的MATLAB函数和命令,帮助读者了解如何在MATLAB中使用状态空间模型进行设计。 首先,我们可以使用`ss`函数来创建一个状态空间模型对象。这个函数可以接受系统的系数矩阵作为输入,然后返回一个StateSpace对象。例如,我们可以使用如下命令创建一个二阶系统的状态空间模型: ```matlab A = [0 1; -1 -1]; B = [0; 1]; C = [1 0]; D = 0; sys = ss(A, B, C, D); ```

在上述代码中,矩阵A、B、C和D分别表示系统的状态方程、输入矩阵、输 出矩阵和直接传递矩阵。通过使用`ss`函数,我们可以将这些矩阵传递给StateSpace对象,并得到一个表示系统的状态空间模型对象sys。 接下来,我们可以使用MATLAB提供的函数和方法来对状态空间模型进行各 种操作。例如,我们可以使用`tf`函数将状态空间模型转换为传输函数模型。传输 函数模型是一种常用的控制系统表示方法,可以用来分析系统的频率响应和稳定性等特性。下面是一个将状态空间模型转换为传输函数模型的示例代码:```matlab tf_sys = tf(sys); ``` 在上述代码中,我们使用`tf`函数将状态空间模型sys转换为传输函数模型 tf_sys。转换后的传输函数模型可以用于各种频域分析和控制系统设计任务。 除了转换模型表示方法,MATLAB还提供了许多其他有用的函数和方法来分 析和设计状态空间模型。例如,我们可以使用`eig`函数计算状态空间模型的特征值,从而判断系统的稳定性。我们也可以使用`step`函数绘制系统的阶跃响应曲线,以 评估系统的动态性能。此外,MATLAB还提供了诸如`bode`、`nyquist`等函数,用 于绘制系统的频率响应和稳定性分析等。 除了基本的分析功能,MATLAB还提供了一些先进的控制系统设计工具。例如,我们可以使用`lqr`函数来设计线性二次型调节器(LQR)控制器。LQR控制器是一种常用的状态反馈控制器,可以优化系统的性能指标,并实现稳定的控制。下面是一个使用`lqr`函数设计LQR控制器的示例代码: ```matlab Q = eye(2); R = 1;

北京交通大学现代控制理论matlab实验报告

实验一利用MATLAB进行线性系统 的模型转换及联结 课程:现代控制理论 姓名: 学号: 班级: 指导教师:

标题 (1) 目录 (2) 一实验目的: (3) 二实验原理: (3) 三实验步骤: (6) 四实验要求: (7) 五实验内容: (8) 1 (8) 2 (18) 3 (29) 4 (36) 5 (37) 六实验感想: (40)

一 实验目的: 1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数、零极点模型之间相互转换的方法; 2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。 3、通过编程、上机调试,掌握系统模型的联结方法。 二 实验原理: 一、连续系统 (1)状态空间模型 x Ax Bu y Cx Du =+=+ (1.1) 其中:n x R ∈是系统的状态向量,m u R ∈是控制输入,p y R ∈是测量输出,A 是n n ⨯维状态矩阵、B 是n m ⨯维输入矩阵、C 是p n ⨯维输出矩阵、D 是直接转移矩阵。在MATLAB 中,用(A,B,C,D )矩阵组表示。 系统传递函数和状态空间模型之间的关系如式(1.2)所示。 1()()G s C sI A B D -=-+ (1.2) (2)传递函数模型 1110 1 110 ()(),()m m m m n n n n b s b s b s b num s H s m n den s a s a s a s a ----++++==≤++++ 在MA TLAB 中,直接用分子/分母的系数表示 1010[,,,][,, ,] m m n n num b b b den a a a --== (3)零极点增益模型 1212()()() ()()()() m n s z s z s z H s k s p s p s p ---=--- 在MA TLAB 中,用[z, p, k]矢量组表示,即 1212[,,,];[,,,];[]; m n z z z z p p p p k k === 二、离散系统 (1)传递函数模型 1110 1110 ()m m m m n n n n b z b z b z b H z a z a z a z a ----++++= ++++ (2)零极点增益模型

matlab离散化状态空间模型 -回复

matlab离散化状态空间模型-回复 如何使用MATLAB 进行离散化状态空间模型的建模和分析 离散化状态空间模型是一类广泛应用于系统建模和分析的数学工具。它在控制论和动态系统理论中有着重要的作用。MATLAB 是一个功能强大的数学软件,可以方便地进行离散化状态空间模型的建模和分析。本文将介绍如何使用MATLAB 进行离散化状态空间模型的建模和分析。 一、离散化状态空间模型的概念和原理 离散化状态空间模型是描述离散时间系统动态特性的一种数学模型。它由状态方程和输出方程组成。状态方程描述了系统状态的演化规律,输出方程描述了系统输出与状态的关系。离散时间系统的状态方程和输出方程可以用矩阵形式表示如下: x(k+1) = Ax(k) + Bu(k) y(k) = Cx(k) + Du(k) 其中,x(k) 表示系统在时刻k 的状态向量,u(k) 表示系统在时刻k 的输入向量,y(k) 表示系统在时刻k 的输出向量,A、B、C、D 分别为系统的状态矩阵、输入矩阵、输出矩阵和直接传递矩阵。

离散化状态空间模型的建模需要将连续时间系统的状态空间模型进行离散化处理。离散化的基本原理是将连续时间系统的状态方程和输出方程在一段时间内进行离散化处理,使得系统的状态和输出在该离散时间内近似地描述系统的动态特性。 二、使用MATLAB 进行离散化状态空间模型的建模和分析的步骤 1. 定义系统的连续时间状态空间模型 首先,需要定义连续时间状态空间模型的状态矩阵A、输入矩阵B、输出矩阵C 和直接传递矩阵D。这些矩阵的维度和元素值反映了系统的动态特性。 例如,假设我们有一个连续时间状态空间模型: dx(t)/dt = Ax(t) + Bu(t) y(t) = Cx(t) + Du(t) 其中,状态向量x(t) 的维度为n,输入向量u(t) 的维度为m,输出向量y(t) 的维度为p。那么,我们可以用MATLAB 编写如下代码定义连续时间状态空间模型:

现代控制理论实验-状态空间的Matlab描述

实验一 状态空间的Matlab 描述 实验目的: 1、 熟悉Matlab 中矩阵的基本输入与运算(包括加、减、乘、求逆、转置等运算); 2、 熟练掌握利用Matlab 建立控制系统的数学模型及进行线性变换的方法; 3、 掌握利用simulink 搭建控制系统的方法。 实验内容: 1、 矩阵的基本输入与运算: 给定两个矩阵,求其加、减、乘、逆阵(求取矩阵逆阵的函数为inv ())及转置,进行乘、逆阵运算时,注意行列限制。 2、 利用Matlab 建立系统的各种数学模型: A 、 传递函数模型 1110111)()()(a s a s a s b s b s b s b s U s Y s W n n n m m m m ++++++++==---- 用以下命令建立传递函数模型:),(den num tf sys = ],,,[01b b b num m m -= 表示传函分子向量,各元素为分子多项式中各项系数,阶次由高到低; ],,,,1[021a a a den n n --= 表示传函分母向量,各元素为分母多项式中各项系数,阶次由高到低。 注意:若多项式中有缺项,则向量中相应位置处系数为0;若为多输入-多输出系统,则i b 为r m ⨯实系数矩阵,num 的行数与输出变量的个数相等。 B 、 零极点增益模型 ∏∏==--=n j j m i i g p s z s K s W 11) ()()( ),,(k p z zpk sys = ],,,[21m z z z z = 表示零点 ],,,[21n p p p p = 表示极点 ][g k k = 表示增益 C 、 状态空间模型 ⎩⎨⎧+=+=Du Cx y Bu Ax x ),,,(D C B A ss sys = 利用系统矩阵、输入矩阵、输出矩阵、直接传递矩阵即可建立系统的状态空间模型。若直接传递矩阵为零矩阵,可使用),(r m zeros 来建立一个r m ⨯的零矩阵。 3、 在各种模型之间进行转换:

现代控制理论Matlab实验报告

现代控制理论第一次Matlab 实验报告 一、实验目的: 1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数、零极点模型之间相互转换的方法; 2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。 3、通过编程、上机调试,掌握系统模型的联结方法。 二、实验过程 实验题目1: (1)在运行以上例程序的基础上,应用MATLAB 求下面传递函数阵的状态空间实现 232252()234 s 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 0 0 1 0 B = 1 C = 0 1 2 1 5 3 D =

实验题目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。0000 0 7。0000 —20.0000 -23.0000 den1 = 1。0000 -7。0000 15。0000 —9。0000 num2 = 0 15。0000 -86.0000 135.0000 0 10。0000 —60。0000 98。0000 den2 = 1。0000 —7。0000 15.0000 —9.0000 由此,可写出系统的传递函数为

现代控制实验报告

现代控制理论实验报告 系统的状态空间分析与全维状态观测器的设计 一、实验目的 1 •掌握状态反馈系统的极点配置; 2 •研究不同配置对系统动态特性的影响。 二、实验仪器 1 •计算机 2. MATLAB 软件 三、实验原理

一个受控系统只要其状态是完全能控的,则闭环系统的极点可以任意配置。极点配置有两种方法:①采用变换矩阵T,将状态方程转换成可控标准型,然后将期

相等,从而决定状态反馈增益矩阵K;②基于Carlay-Hamilton理论,它指出矩阵㈡满足自身的特征方程,改变矩阵特征多项式:的值,可以推出增益矩阵K。这种方法推出增益矩阵K的方程式叫Ackermann公式。 四、实验内容 1 •试判别下列系统的可控性和可观性: (1) A=[1,2,3;1,4,6;2,1,7] B=[1,9;0,0;2,0]; C=[1,0,0;2,1,0] 实验程序: a=[1,2,3;1,4,6;2,1,7] b=[1,9;0,0;2,0] c=[1,0,0;2,1,0] n=size(a) uc=ctrb(a,b) uo=obsv(a,c) if ran k(uc)==n disp('系统可控') else disp('系统不可控') end if ran k(uo )==n

disp('系统可观')else disp('系统不可观')End 实验结果: a = 1 2 3 1 4 6 2 1 7 b = 1 9 0 0 2 0

2 1 0 n = 3 uc = 1 9 7 9 81 81 0 0 13 9 155 153 2 0 16 18 139 15 3 uo = 1 0 0 2 1 0

实验四用MATLAB求解状态空间模型

实验四 用MATLAB 求解状态空间模型 1、实验设备 MATLAB 软件 2、实验目的 ① 学习线性定常连续系统的状态空间模型求解、掌握MATLAB 中关于求解该模型的主要函数; ② 通过编程、上机调试,进行求解。 3、实验原理说明 Matlab 提供了非常丰富的线性定常连续系统的状态空间模型求解(即系统运动轨迹的计算)的功能,主要的函数有: 初始状态响应函数initial()、阶跃响应函数step()以及可计算任意输入的系统响应数值计算函数lsim()和符号计算函数sym_lsim()。 数值计算问题可由基本的Matlab 函数完成,符号计算问题则需要用到Matlab 的符号工具箱。 4、实验步骤 ① 根据所给状态空间模型,依据线性定常连续系统状态方程的解理论,采用MATLAB 编程。 ② 在MATLAB 界面下调试程序,并检查是否运行正确。 习题1:试在Matlab 中计算如下系统在[0,5s]的初始状态响应,并求解初始状态响应表达式。 Matlab 程序如下: A=[0 1; -2 -3]; B=[]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [y,t,x]=initial(sys,x0,0:5); plot(t,x) 0011232⎡⎤⎡⎤==⎢⎥⎢⎥--⎣⎦⎣⎦ x x x

习题2:试在Matlab 中计算如下系统在[0,10s]内周期为3s 的单位方波输入下的状态响应。并计算该系统的单位阶跃状态响应表达式。 Matlab 程序如下: A=[0 1; -2 -3]; B=[0; 1]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [u t]=gensig('square',3,10,0.1) 0011232⎡⎤⎡⎤==⎢⎥⎢⎥--⎣⎦⎣⎦ x x x

现代控制理论实验

华北电力大学 实验报告| | 实验名称状态空间模型分析 课程名称现代控制理论 | | 专业班级:自动化1201 学生姓名:马铭远 学号:2 成绩: 指导教师:刘鑫屏实验日期:4月25日

状态空间模型分析 一、实验目的 1.加强对现代控制理论相关知识的理解; 2.掌握用 matlab 进行系统李雅普诺夫稳定性分析、能控能观性分析; 二、实验仪器与软件 1. MATLAB7.6 环境 三、实验内容 1 、模型转换 图 1、模型转换示意图及所用命令 传递函数一般形式: MATLAB 表示为: G=tf(num,den),,其中 num,den 分别是上式中分子,分母系数矩阵。 零极点形式: MATLAB 表示为:G=zpk(Z,P,K) ,其中 Z,P ,K 分别表示上式中的零点矩阵,极点矩阵和增益。 传递函数向状态空间转换:[A,B,C,D] = TF2SS(NUM,DEN); 状态空间转换向传递函数:[NUM,DEN] = SS2TF(A,B,C,D,iu)---iu 表示对系统的第 iu 个输入量求传递函数;对单输入 iu 为 1。

例1:已知系统的传递函数为G(S)= 2 2 3 24 11611 s s s s s ++ +++ ,利用matlab将传递函数 和状态空间相互转换。 解:1.传递函数转换为状态空间模型: NUM=[1 2 4];DEN=[1 11 6 11]; [A,B,C,D] = tf2ss(NUM,DEN) 2.状态空间模型转换为传递函数: A=[-11 -6 -11;1 0 0;0 1 0];B=[1;0;0];C=[1 2 4];D=[0];iu=1; [NUM,DEN] = ss2tf(A,B,C,D,iu); G=tf(NUM,DEN) 2 、状态方程状态解和输出解 单位阶跃输入作用下的状态响应: G=ss(A,B,C,D);[y,t,x]=step(G);plot(t,x). 零输入响应 [y,t,x]=initial(G,x0)其中,x0 为状态初值。

实验三利用MATLAB求取状态空间模型的相似变换及其标准型、控制系统的不同状态模型实现

现代控制理论第一次上机实验报告 实验三 利用MATLAB 求取状态空间模型的相似变换及其标准型、 控制系统的不同状态模型实现 实验目的: 1、通过实验掌握线性系统的对角线标准型、约旦标准型、模态标准型以及伴随矩阵标准型的表示及相应变换阵的求解; 2、通过编程、上机调试,掌握系统可控性和可观测性的判别方法、系统的可控性和可观测性分解等; 3、加深理解由控制系统传递函数建立能控、能观、约当标准型等不同状态模型的方法。 实验要求: 1.实现同一系统传递函数的状态模型是唯一的吗? 2.系统传递函数除上面三种不同状态模型实现外,常见的还有串连实现,对否? 3.对于上述系统传递函数,其输出稳态值与输入阶跃信号幅值有何关系? 实验步骤: 1. 根据所给系统的已知条件(可自行参阅选择刘豹教材中的例题或习题),如传递函数、 零极点模型或(A 、B 、C 、D ),实现状态空间模型之间的相似变换、写出其对角线标准型、约当标准型、模态标准型以及伴随矩阵标准型的表示及求解相应变换阵,采用MATLAB 的相关函数编写m-文件。 已知系统的传递函数如下: 3 211 ()(1)( 2.5)(5)8.52012.5 160.270.11 2.55 G s s s s s s s s s s = =++++++-=++ +++ 运行如下m-文件,得到传递函数的状态空间模型: num=[0 0 0 1]; den=[1 8.5 20 12.5]; [A,B,C,D]=tf2ss(num,den) 得到 A = -8.5000 -20.0000 -12.5000 1.0000 0 0 0 1.0000 0 B = 1 0 0 C =

现代控制理论习题MATLAB作业

第一章:控制系统状态空间模型 1.由传递函数求状态空间表达式: 已知传递函数G (S )=32 1010 +6510 s s s s +++,求其状态空间空间表达式的相应矩阵A ,B ,C ,D 。 2.由状态空间表达式求传递函数: 第二章 系统的运动分析

1.单位阶跃响应: >> A=[-1 -1;6.5 0];B=[1 1;1 0]; >> C=[1 0;0 1];D=[0 0 ;0 0] >> step(A,B,C,D) -0. -0.-0.-0.0.0.0.T o : O u t (1)02 46810120.1.T o : O u t (2 ) 024681012 S t ep R esponse Ti m e (seconds) A m p l i t u d e 2.脉冲响应 >> A=[0 1;-1 -1];B=[0;1]; >> C=[1 0];D=[0] >> impulse(A,B,C,D) >> title('Unit-Impulse Response') 0246 810 12 -0.0.0.0.0.0.0.T i m e (seconds) A m p l i t u d e 3.初始状态响应 >> A=[0 1;-10 -5];B=[0;0];D=B;

>> C=[1 0;0 1]; >> x0=[2;1]; >> [y, x, t]=initial(A,B,C,D,x0); >> plot(t;x(:,1),t,x(:,2)) (坐标标注程序代码省略) -3-2 -1 1 2 3 t i m e(sec) x 1 x 2 4.线性定常离散系统单位阶跃响应 >> num=[2,-3.4,1.5]; den=[1,-1.6,0.8]; >> dstep(num,den) 0102030 405060 -0.5 0.5 1 1.5 2 Ti m e (seconds) A m p l i t u d e 第三章 能控和能观性分析

相关文档
相关文档 最新文档