matlab and操作,系统建模 | Control Tutorials for Matlab and Simulink

介绍:系统建模

设计控制体统的第一步是通过自然规律或者实验数据建立适当的数学模型。我们会引进状态空间和传递函数来代表系统。然后我们回顾一些基本的机械或者电力系统模型,并且会在MATLAB中展示怎么近一步分析。

本教程中使用到的关键Matlab命令是:tf,ss。

目录

动态系统

按确定性规律随时间演化的系统,称为动态系统。对于很多物理模型来说,这种规律可以表示为一组一价微分方程:61449309_1.png(1)

在上面的方程中,

61449309_2.png是状态向量,由n个状态变量组成。例如在一个简易的质量块-弹簧-阻尼系统中,两个状态变量可以是质量块的位置和速度。

61449309_3.png是输入信号向量,表示“外力”作用在系统上,f是状态向量对时间求导后的非线性函数。

任意一时刻的状态

61449309_4.png可能都被初始状态

61449309_5.png

61449309_3.png入决定。虽然状态变量并不是独立的,但状态变量有最小个数,假设为n。n与系统的阶数和状态空间的维数相关。系统的阶数通常与储能元素的个数一致。

在Eq.(1)中的关系是很普遍的可以用来描述很多系统,但是,它很难分析。通常有两种简化方法。第一,如果函数f不随时间变化,i.e.

61449309_6.png,然后就可以说是定长系统。这是一种很合理的假设,因为自然规律不随时间变化。对于定常系统来说,函数f的参数或系数是固定的。然而控制的输入

61449309_3.png可能与时间相关。

第二通常的假设是关于系统的线性度的。实际上,几乎每一个物理系统都是非线性的。换句话说,f是关于状态和输入的很复杂的函数。这些非线性产生于很多不同的方面,最常见的一种是,系统的一个元素达到了系统运转中的物理极限,就是说系统‘饱和’。不过,在一个足够小的工作范围内,大多数系统的动态近似线性,即

61449309_7.png

直到电脑出现,只有分析线性定常系统是可行的。因此,大部分控制理论是基于上面的两个假设。幸运的是,正如我们将看到的,这些结果已被证明是非常有效的,许多重大的工程挑战已经使用LTI技术解决。事实上,反馈控制系统的真正的优势是他们可以工作,在不可避免的不确定性建模的情况下。

状态空间模型

对于线性定常系统,状态空间模型的标准如下:61449309_8.png(2)

61449309_9.png(3)

x为状态向量,

61449309_10.png为状态向量对事件求导,u为输入或者控制向量,y为输出向量,A为系统矩阵,B为输入矩阵,C为输出矩阵。

输出方程式(3)是必不可少的,因为有些状态变量不容易直接观察或者不感兴趣。通过控制器,输出矩阵C用于指定状态变量。D是零矩阵时,也常常没有直接的前馈控制。

状态空间表示法,也被称为时域表示,可以轻松地处理多输入多输出(MIMO)系统,具有非零初始条件的系统和非线性系统(通过公式(1))。因此,状态空间表示是广泛应用于现代控制理论。

传递函数模型

LTI系统有极其重要的属性,如果系统的输入是正弦的,然后输出将正弦在相同的频率,但一般具有不同的幅度和相位。这些的幅度和相位差作为频率的函数被称为系统的频率响应。

使用拉普拉斯变换,它可以把一个系统的时域到频域表示输出/输入表示,称为传递函数。在这样做时,它也将微分方程化为代数方程往往是更容易分析。

一个时域函数的拉普拉斯变换,

61449309_11.png,定义如下:61449309_12.png(4)

其中参数 是一个复杂的频率变量。在实践中,你可以直接评估的拉普拉斯变换是非常罕见的。通常都是通过查表发现你感兴趣的函数变换:拉普拉斯变换表Laplace Transform Table

一个函数的n阶导数的拉普拉斯变换是特别重要的:61449309_13.png(5)

频域方法通常用来分析线性时不变的单输入单输出(SISO)系统,例如由一个常系数微分方程如下:61449309_14.png(6)

这个方程的拉普拉斯变换如下:61449309_15.png(7)

61449309_16.png

61449309_17.png分别是

61449309_18.png

61449309_19.png的拉式变换。我们假设每个初始条件

61449309_20.png

61449309_21.png

61449309_22.png为零。传递函数如下:61449309_23.png(8)

传递函数的分子和分母可变换成所谓的零极点增益形式:61449309_24.png(9)

传递函数的零点是

61449309_25.png,是分子多项式的根。传递函数的极点是

61449309_26.png,是分母多项式的根。无论是零、极点可能是复值(有实部和虚部)。系统增益为

61449309_27.png

请注意,我们还可以直接从状态空间确定的传递函数表示如下:61449309_28.png(10)

机械系统

牛顿定律是分析机械系统的基础。牛顿第二定律,公式(11),表明作用在物体上的力的总和等于质量乘以加速度。牛顿第三定律,指出如果两体连接,然后他们的经验同样大小的力作用在相反的方向。61449309_29.png(11)

应用该方程时,最好是建立一个受力分析图(FBD)显示所有施加的力。

例:质量块-弹簧-阻尼系统

61449309_30.png

这个系统的受力分析图如下所示。弹力与质量块的位移x成正比,粘性阻尼力与质量的速度

61449309_31.png成正比。因为这两个力阻碍弹簧的运动,因为他们的受力方向为X的负方向。注意到,当

61449309_32.png时,弹簧未拉伸。

61449309_33.png

现在我们进行总结和运用牛顿第二定律力量,方程(11)。在这种情况下,没有力作用在Y 轴方向;然而,在X方向我们可得:61449309_34.png(12)

这个方程,称为控制方程,完全刻画系统的动态状态。后来,我们将看到如何使用它计算系统的响应,在任何外部输入

61449309_35.png的情况下,以及分析系统的性能,如稳定性和性能。

确定的质量-弹簧-阻尼器系统的状态空间表示,我们必须降低二阶方程为一组两个一阶微分方程。为此,我们选择的位置和速度作为状态变量。61449309_36.png(13)

注意,这些状态变量分别对应于在弹簧的势能和质量块的动能。经常选择状态变量时,它有助于考虑系统中德独立的储能元件。

在这种情况下,状态方程如下:61449309_37.png(14)

如果我们在控制质量块的位置感兴趣,然后输出方程如下:61449309_38.png(15)

在MATLAB中输入状态空间模型

现在我们将告诉你如何通过m-file在MATLAB中输入状态空间方程。让我们为每个变量分配数值。

61449309_39.jpg

创建一个新文件,输入以下命令。

61449309_40.jpg

61449309_41.jpg

假设初始条件为零时拉式变换为:61449309_42.png(16)

传递函数为61449309_43.png(17)

在MATLAB中输入传递函数模型

现在我们将告诉你如何通过m-file在MATLAB中输入传递函数。输入如下命令在你定义过系统参数的m文件中。

61449309_44.jpg

61449309_45.jpg

请注意,我们所使用的符号变量s来定义我们的传递函数模型。大多数情况下,我们建议使用此方法;然而,在某些情况下,例如在旧版本的MATLAB 或者要连接Simulink时,你可能需要直接使用的分子和分母多项式的系数定义的传递函数模型。在这些情况下,使用下面的命令:

61449309_46.jpg

61449309_47.jpg

电气系统

像牛顿定律在机械系统,基尔霍夫电路法是电力系统分析的基本工具。基尔霍夫电流定律(KCL)状态的电流进入和退出一个电路节点的总和必须等于。基尔霍夫电压定律(KVL)指出,电压差在电路中的任何闭环的总和是零。应用KVL时,源电压通常为阳性和负载电压作为负。

例:RLC电路

现在我们考虑一个简单的三个电子元件的串联组合:一个电阻,电感,和一个电容器,被称为一个RLC电路。

61449309_48.png

由于该电路是一个单环,每个节点只具有一个输入和输出;因此,由KCL知整个电路中的电流相同。现在应用KVL,我们得到以下方程。61449309_49.png(18)

我们注意到,方程为RLC电路对质量-弹簧-阻尼器系统类似的形式。特别是,他们都是二阶系统,电荷(积分电流)对应的位移,感应系数对应质量,电阻对应粘性阻尼,电容对应弹簧刚度。在理解的动力系统时,这些类比和像他们这样的类比会成为非常有用的概念。

建立状态空间时,通过选择电荷和电流作为状态变量。61449309_50.png(19)

61449309_51.png(20)

状态方程为:61449309_52.png(21)

选择电流作为输出:61449309_53.png(22)

传递函数可以求得通过做拉式变化:61449309_54.png(23)

61449309_55.png(24)

RLC的状态空间和传递函数模型可以写入matlab,使用与讨论了的质量-弹簧-阻尼器系统的相同方法。

系统辨识

在本节中,我们已经看到了如何使用基本的物理原理建立模型系统;然而,这往往是不可能的因为系统的参数是不确定的,或基本过程是根本不知道。在这些情况下,我们必须依靠实验测量和统计技术来开发一个系统模型,这一过程称为系统辨识。

系统变换

在MATLAB的大部分操作对于对传递函数模型,状态空间模型,或零极点增益形式都可以很好的运行。此外,如果有需要的话,三种形式的转换是很简单的。如果你需要学习如何从一种表示形式转换为其他,详见系统转换介绍页Introduction: System Conversions。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值