状态空间模型

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言

状态空间模型是应用状态空间分析法对动态系统所建立的一种数学模型,它是应用现代控制理论对系统进行分析和综合的基础。状态空间模型由描述系统的动态特性行为的状态方程和描述系统输出变量与状态变量间变换关系的输出方程组成。

在经典控制理论中,采用n阶微分方程作为对控制系统输入量u(t)和输出量y(t)之间的时域描述,或者在零初始条件下,对n阶微分方程进行Laplace 变换,得到传递函数作为对控制系统的频域描述,“传递函数”建立了系统输入量U(s)=L[u(t)]和输出量Y(s)=L[y(t)]之间的关系。传递函数只能描述系统的外部特性,不能完全反映系统内部的动态特征,并且由于只考虑零初始条件,难以反映系统非零初始条件对系统的影响。

现代控制理论是建立在“状态空间”基础上的控制系统分析和设计理论,它用“状态变量”来刻画系统的内部特征,用“一阶微分方程组”来描述系统的动态特性。系统的状态空间模型描述了系统输入、输出与内部状态之间的关系,揭示了系统内部状态的运动规律,反映了控制系统动态特性的全部信息。

龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。

标准四阶龙格——库塔法的基本思想

龙格和库塔提出了一种间接地运用Taylor公式的方法,即利用y(x)在若干个待定点上的函数值和导数值做出线性组合式,选取适当系数使这个组合式进Taylor展开后与y(xi+1)的Taylor展开式有较多的项达到一致,从而得出较高阶的数值公式,这就是龙格—库塔法的基本思想。

一、实验原理

龙格——库塔法

龙格—库塔法是仿真中应用最广泛的方法。它以泰勒展开公式为基础,用函数f的线性组合代替f的高阶导数项,避免了高阶导数的运算,又提高了精度。泰勒公式的阶次取得越高,龙格—库塔法所得的误差等级越低,精度越高。最常用的是四阶龙格—库塔法,它虽然有一定的时间损耗,但比梯形法要快,而且与

其它方法比较,其误差比欧拉法高三个数量级,比预估—校正法高两个数量级,是自启动的。它之所以广泛用于仿真上,还有不可忽视的优点:编程容易、改变步长方便、稳定性好。

龙格库塔方法的理论基础来源于泰勒公式和使用斜率近似表达微分,它在积分区间多预计算出几个点的斜率,然后进行加权平均,用做下一点的依据,从而构造出了精度更高的数值积分计算方法。如果预先求两个点的斜率就是二阶龙格库塔法,如果预先取四个点就是四阶龙格库塔法。

一阶常微分方程可以写作:y'=f(x,y),使用差分概念。

(Yn+1-Yn)/h=f(Xn,Yn)推出(近似等于,极限为Yn')

Yn+1=Yn+h*f(Xn,Yn)

另外根据微分中值定理,存在0

Yn+1=Yn+h*f(Xn+th,Y(Xn+th))

这里K=f(Xn+th,Y(Xn+th))称为平均斜率,龙格库塔方法就是求得K的一种算法。利用这样的原理,经过复杂的数学推导(过于繁琐省略),可以得出截断误差为O(h^5)的四阶龙格库塔公式:

K1=f(Xn,Yn);

K2=f(Xn+h/2,Yn+(h/2)*K1);

K3=f(Xn+h/2,Yn+(h/2)*K2);

K4=f(Xn+h,Yn+h*K3);

Yn+1=Yn+h*(K1+2K2+2K3+K4)*(1/6);

Smulink介绍

Simulink是MATLAB软件包之一,用于可视化的动态系统仿真,它适用于连续系统和离散系统,也适用线性系统和非线性系统。它采用系统模块直观地描述系统典型环节。因此可十分方便地建立系统模型而不需要花较多时间编程。正由于这些特点,Simulink广泛流行,被认为是最受欢迎的仿真软件。

Simulink实际上是面向结构的系统仿真软件。利用Simulink进行系统仿真的步骤是:

(1)启动Simulink,进人Simulink窗口;

(2)在Simulink窗口下,借助Simulink模块库,创建系统框图模样并调

整模块参数;

(3)设置仿真参数后,启动仿真;

(4)输出仿真结果。

二、设备和仪器

微型计算机、MATLAB软件

三、设计方法

运行MATLAB,在MATLAB窗口中按SimuLink按钮,启动SimuLink库浏览器,在浏览器窗口上选create a new modem命令,得到一个空模型,从Library: SimuLink窗口中找到需要的模块,将这些模块拖到空模型窗口中。将空模型窗口中的排好,并按要求连接。在保存好的模型窗口中,选Simulation\Paramters命令设置各模块的参数和仿真参数。给模型取一个名字,保存起来。选Simulation\Start命令,进行仿真。

四、设计过程

启动Simulink窗口及模型库

用户首先进入 MATLAB COMMAND窗口,键人Simulink,立即弹出 Simulink 模块库窗口,如图3-1所示。

图3-1 Simulink模块库

系统框图模型的建立

系统框图模型建立的过程如下:

1、建立模型窗口

建立新的模型窗口常有四种方法:

(1)在 MATLAB COMMAND窗口下,键人Simulink,弹出Simulink模块库窗口同时,也弹出一个Untitled窗口,该窗口为未取名的模拟窗口,用户可在该窗口下建立新的系统框图模型。

(2)在Simulink窗口下,用鼠标选取菜单[File]中[New]子菜单的[Model]后,会弹出一个Untitled窗口,如图3-2所示,该窗口供用户建立系统框图模型。

图3-2 Untitled模型窗口

(3)若模型文件已存在,Simulink窗口下,选择菜单[File]中[Open]命令,输入文件名,即打开一个已存在的方框图模型。

2、选取模块或模块组

在建立框图模型过程中,需进行如拷贝、删除模块等操作,必须首先选择模块或模块组,具体操作如下:

(1)在模型或模块库的窗口内,找出所需模块图标,用鼠标左键单击。图标四角出现黑圆点,表示该模块已被选中。

(2)在模型或模块库窗口内,用鼠标左键在窗口矩形边界两个对角单击一下,即生成一个边界框将所需几个模块图标包围,松开鼠标,则边界框内模型和连接线出现黑圆点,表示这些模型(包括在连接线)均被选中。

用同样方法可以选取一个系统框图模块的全部模块。

3、模块拷贝及删除

相关文档
最新文档