写这篇之前先说明一个情况,恩……因为最近要准备学校的考试,所以,这个学期的教程这次可能是最后一篇了,接下来的3到4个星期内,可能不会写新的东西出来,但是寒假里我会把这个事情继续下去,在这里先请个假,咔咔!!
按照上一次说的,这一篇开始我们来介绍控制系统的时域分析。这部分内容比较基本,也比较重要,其中的一些操作很经典,可能以后会经常用到,所以需要格外的注意
按照上一次说的,这一篇开始我们来介绍控制系统的时域分析。这部分内容比较基本,也比较重要,其中的一些操作很经典,可能以后会经常用到,所以需要格外的注意
引子:
我们先从上一篇我留下的一个问题开始说起;
上一次,我留下了两个问题,第二个问题是就求一个闭环系统的传递函数,那个比较简单,第一个相对来说要思考以下,
现在我们把问题再简化一下。用代码写出
的单位阶跃响应,还记得我的要求么,只能用我们上一篇里介绍的函数。我的目的其实是让大家熟悉一些函数的用法,和单位阶跃响应的求
解过程,阶跃响应怎么求的呢,步骤是不是这样:先根据系统的输入和传递函数来求出系统的输出,然后在把输出进行拉氏逆变换,求出输出
的时域形式,在指定仿真时间来作图。现在我们按照所说的过程来编写程序。
运行上面的代码就可以得到一个一阶系统的阶跃响应曲线,上面的代码不解释了,我想都能看懂。
我们先从上一篇我留下的一个问题开始说起;
上一次,我留下了两个问题,第二个问题是就求一个闭环系统的传递函数,那个比较简单,第一个相对来说要思考以下,
现在我们把问题再简化一下。用代码写出
![s1.gif s1.gif](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
的单位阶跃响应,还记得我的要求么,只能用我们上一篇里介绍的函数。我的目的其实是让大家熟悉一些函数的用法,和单位阶跃响应的求
解过程,阶跃响应怎么求的呢,步骤是不是这样:先根据系统的输入和传递函数来求出系统的输出,然后在把输出进行拉氏逆变换,求出输出
的时域形式,在指定仿真时间来作图。现在我们按照所说的过程来编写程序。
关于一些基本理论(这里请耐心看下去): 我还是问你们两个问题,看看你们对最基本的东西的掌握情况 一 二 这个问题其实是我们古典控制理论最核心的问题,所有的方法都是基于这个问题来展开的。现在给出一个答案。 给定一个传递函数,决定系统性能的最根本因素就是系统的零点和极点在复平面上的分布情况,其中,起决定性作用的是极点的分布,他决 定了系统是否是稳定的,是否有震荡,震荡的频率和幅度等等系统最关键的东西,零点的存在起的是一种调节作用,要么是锦上添花,要么 是雪上加霜。我们学习控制,最终的目的是学会如何根据各种被控对象的情况来设计合适的控制器,但从上面的意义上来讲,设计控制器的 最终目的就是为了把整个系统的零点和极点控制在我们希望的区域或范围内。 说这么多的目的是想让大家知道,这是我们控制理论里最根本的问题,在学习一些分析和设计方法的时候我们最好多想一下,这个种方法对系统的零极点分布有什么影响,我觉得这样对我们理解一些问题尤其是一些相关经验的建立会有很大帮助。 OK,前面强调了系统极点的重要性,再展开来讲,我们有一系列非常重要的结论。 对一个受到阶跃信号输入的系统 一 二 三 我们知道,在上个世纪初,在还没有小麦的黑暗时代里,劳斯同志挺身而出,发明了分析系统极点的一个定性算法,后来我们把它叫做劳斯判据。让我们为好同志阿劳默哀一秒种。BUT!阿劳死了就死了吧,反正我们现在已经不用这个东西了,因为现在有了非常成熟的寻根算法,“用小麦计算,一次顶过去一万次,方便!实惠!您愁准了,mathwork牌小麦!!!”呵呵,现在我们来给出几种求系统极点的方法。 用函数:roots 这个函数非常有用,它返回一个列向量,结果是一个多项式方程精确的根。例如我们要求一个传递函数 ![]() 的所有零点和极点。代码如下
这个函数不难,都猜到这个函数的用法了吧
然后可以输入z和p查看零点和零点
|