- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[自然科学]Matlab软件工具1
Matlab软件工具在控制系统分析和综合中的应用 主要内容 1、Matlab基本特点 2、控制系统在Matlab中的描述 3、进行部分分式展开 4、控制系统的时间响应分析 5、控制系统的频域响应分析 6、系统稳定性分析 7、Simulink仿真工具 1、matlab基本特点 Matlab简介: 1980年前后,美国moler博士构思并开发; 最初的matlab版本是用fortran语言编写,现在的版本用c语言改写; 1992年推出了具有划时代意义的matlab 4.0版本;并于1993年推出了其windows平台下的微机版,现在比较新的版本是7.0版 Matlab语言特点 Matlab以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在matlab中,数据的存储/输入/输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。matlab语言最基本的赋值语句结构为 变量名列表=表达式 2、控制系统在matlab中的描述 3、进行部分分式展开 4、线性系统的时间响应分析 Matlab的Control工具箱提供了很多线性系统在特定输入下仿真的函数,例如连续时间系统在阶跃输入激励下的仿真函数step(),脉冲激励下的仿真函数impulse()及任意输入激励下的仿真函数lsim()等,其中阶跃响应函数step()的调用格式 [y,x]=step(sys,t) 或[y,x]=step(sys) 5、控制系统的频域响应分析 频率响应曲线绘制 6、系统稳定性分析 给定一个控制系统,可利用MATLAB在它的 时域、频域图形分析中看出系统的稳定性, 并可直接求出系统的相角裕量和幅值裕量。 此外,我们还可通过求出特征根的分布更 直接地判断出系统稳定性。如果闭环系统 所有的特征根都为负实部则系统稳定。 7、Simulink仿真工具 ----MATLAB Program---- num=[0,0,50]; den=[25,2,1]; impulse(num,den) grid title(Unit-Impulse Response of G(s)=50/(25s^2+2s+1)) 在MATLAB中没有斜坡响应命令,可利用阶跃响应命令求斜坡响应,先用s除G(s),再利用阶跃响应命令。例如,考虑下列闭环系统: 对于单位斜坡输人量 下列MATLAB Program给出该系统单位斜坡响应曲线。该单位斜坡响应曲线如图3所示。 ----MATLAB Program---- num=[0,0,0,50]; den=[25,2,1,0]; t = 0:0.01:100; step(num,den,t) grid title(Unit-Step ramp Response of G(s)=50/(25s^2+2s+1)) 已知系统的传递函数模型如第2节所示, 则该系统的频率响应为 可以由下面的语句来实现,如果有一个频率向量w,则Gw=polyval(num, sqrt(-1)*w)./polyval(den,sqrt(-1)*w); 其中num和den分别为系统的分子分母多项式系数向量。 MATLAB提供了多种求取并绘制系统频率响应曲线的函数,如Bode图绘制函数bode(),Nyquist曲线绘制函数nyquist()等,其中bode()函数的调用格式为 [m,p]=bode(num,den,w) 这里,num,den和前面的叙述一样,w为频率点构成的向量,该向量最好由logspace()函数构成。m,p分别代表Bode响应的幅值向量和相位向量。 如果用户只想绘制出系统的Bode图,而对获得幅值和相位的具体数值并不感兴趣,则可以由以下更简洁的格式调用bode()函数 bode(num,den,w) 或更简洁地 bode(num,den) 这时该函数会自动地根据模型的变化情况选择一个比较合适的频率范围。 Nyquist曲线绘制函数nyquist()类似于bode()函数,可以利用help nyquist来了解它的调用方法。 在分析系统性能的时候经常涉及到系统的幅值裕量与相位裕量的问题,使用Control工具箱提供的margin()函数,可以直接求出系统的幅值裕量与相位裕量,该函数的调用格式为[Gm,Pm,wcg,wcp]=margin(num,den) 可以看出,该函数能直接由系统的传递函数来求取系统的幅值裕量Gm和相位裕度裕量Pm,并求出幅值裕量和相位裕量处相应的频率值wcg和wcp。 常用频域分析函数如下: bode - 频率响应伯德图 nyquist - 频率响应乃奎斯特图 nichols
文档评论(0)