系列文章目录
本系列由五章组成。以下是这些章节的简要总结:

第1章:MATLAB简介。本章面向新手介绍MATLAB。读者将学习MATLAB®的基本概念。

第2章:控制系统分析常用命令。本章研究控制系统工具箱中一些最重要的命令,如tf、zpk、ss、bode、nyquist、rlocus、脉冲、步进、反馈、序列、并行等命令。

第3章:Simulink简介。Simulink是模拟动态系统的最重要工具之一。Simulink是一种图形环境。用户使用大量现成的模块制作系统模型。因此,得益于Simulink强大的模块库,用户可以轻松地模拟复杂的系统,而无需处理编码。本章通过一些示例介绍Simulink。

第4章:MATLAB中的控制器设计。计算机是现代工程科学的重要组成部分。几乎所有的工程设计都是在计算机的帮助下完成的,控制工程也不例外。MATLAB的控制系统工具箱为控制系统的设计提供了丰富的功能。工业上大约90%的控制器是PID(比例积分微分)。本章从pidTuner命令开始,这是一个用于设计PID控制器的强大命令。本章以控制系统设计器应用程序结束。

第5章:系统识别工具箱简介。系统辨识根据动态系统的输入/输出信号建立数学模型。本章研究了一个示例。


文章目录

  • 定义传递函数
  • 系统的脉冲响应
  • 系统的阶跃响应
  • 绘制系统的频率响应
  • 绘制系统的奈奎斯特图
  • 根轨迹图
  • 将系统连接在一起

定义传递函数

例2.1(定义传递函数):在MATLAB中定义以下传递函数:

H(s)=100s2+6s+100H(s)=\frac{100}{s^2+6s+100}H(s)=s2+6s+100100​

方法1:

>>H=tf([100],[1 6 100]);

方法2:

>>s=tf('s');
>>H=100/(s^2+6*s+100)

例2.2(定义传递函数):在MATLAB中定义以下传递函数:
I(s)=s2−6ss3+6s+100I(s)=\frac{s^2-6s}{s^3+6s+100}I(s)=s3+6s+100s2−6s​

>>I=tf([100 -6 0],[1 0 6 100]);

例2.3(定义零极点形式传递函数):在MATLAB中定义以下传递函数:
J(s)=s+1(s+2)(s+3)(s+4)J(s)=\frac{s+1}{(s+2)(s+3)(s+4)}J(s)=(s+2)(s+3)(s+4)s+1​

>>J=zpk([-1],[-2 -3 -4],1);

zpk命令有三个输入:第一个输入是包含传递函数零点的向量,第二个输入是包含传递函数极点的向量,第三个输入是增益。

例2.4(将zpk模型转换为tf模型)::

>> J=zpk([-1],[-2 -3 -4],1)J =(s+1)-----------------(s+2) (s+3) (s+4)Continuous-time zero/pole/gain model.>> tf(J)ans =s + 1-----------------------s^3 + 9 s^2 + 26 s + 24Continuous-time transfer function.

例2.5(使用ss命令定义状态空间模型)::

>> A=[1 0; 5 6];B=[1;1];C=[1 3];D=0;
>> L=ss(A,B,C,D)L =A = x1  x2x1   1   0x2   5   6B = u1x1   1x2   1C = x1  x2y1   1   3D = u1y1   0Continuous-time state-space model.

借助tf命令,可以获得与状态空间模型相关的传递函数(图2.3)。

>> A=[1 0; 5 6];B=[1;1];C=[1 3];D=0;
>> L=ss(A,B,C,D)L =A = x1  x2x1   1   0x2   5   6B = u1x1   1x2   1C = x1  x2y1   1   3D = u1y1   0Continuous-time state-space model.>> tf(L)ans =4 s + 6-------------s^2 - 7 s + 6Continuous-time transfer function.

例2.6(零极点):
可以分别借助pole和zero命令获得极点和零点的位置:

>> pole(L)ans =61>> zero(L)ans =-1.5000

借助pzmap命令,可以获得极点和零点位置的图形。pzmap使用x标记极点位置,使用o标记零点位置。例如,您可以借助以下命令绘制L的零极点图。

pzmap(L)


如果所有极点都位于开放的左半平面(LHP)。可以使用isstable命令了解系统是否稳定。

>> isstable(L)ans =logical0

系统的脉冲响应

系统的脉冲响应可以借助impulse命令来绘制。
例2.7(绘制脉冲响应):绘制以下系统的脉冲响应:
H(s)=100s2+6s+100H(s)=\frac{100}{s^2+6s+100}H(s)=s2+6s+100100​

>> H=tf([100],[1 6 100]);
>> impulse(H)
>> grid on


您可以要求MATLAB显示峰值响应和稳定时间。要执行此操作,请右键单击图片。单击Characteristics并选择所需选项。例如,我们选择峰值响应,单击Peak Response后,MATLAB会用一个点显示图形的峰值。单击显示的点后,MATLAB会添加一个标签,并用标签显示该点的坐标。




可以使用Data Cursor图标将光标添加到图形中。首先单击Data Cursor图标,然后单击图形上的一个点。使用光标,可以轻松读取所需点的坐标。可以将光标滑动到所需的点。如果将Selection Style 设置为Mouse Position ,则可以更轻松地滑动光标。要查看Selection Style,请在图形上单击鼠标右键。



可以画出特定时间间隔内的脉冲响应。例如,要绘制[.2,1.8]时间间隔内的脉冲响应:

>> H=tf([100],[1 6 100]);
>> impulse(H,[.2:.01:1.8])
>> grid on

系统的阶跃响应

借助Step命令可以绘制系统的阶跃响应。
例2.8(绘制阶跃响应):绘制以下系统的阶跃响应:
H(s)=100s2+6s+100H(s)=\frac{100}{s^2+6s+100}H(s)=s2+6s+100100​

>> H=tf([100],[1 6 100]);
>> step(H)
>> grid on


可以画出特定时间间隔内的阶跃响应。例如,要绘制[.2,1.8]时间间隔内的脉冲响应:

>> H=tf([100],[1 6 100]);
>> step(H,[.2:.01:1.8])
>> grid on


您可以要求MATLAB测量响应的重要特征,并显示它们。为此,右键单击阶跃响应图,然后单击characteristics。从显示的菜单中选择所需选项。例如,我们从显示的菜单中选择Rise Time 。上升时间是指响应从稳态响应的10–90%上升所需的时间。

您可以使用stepinfo命令查看阶跃响应特性。

>> stepinfo(H)ans = 包含以下字段的 struct:RiseTime: 0.1324SettlingTime: 1.1230SettlingMin: 0.8614SettlingMax: 1.3714Overshoot: 37.1410Undershoot: 0Peak: 1.3714PeakTime: 0.3224

绘制系统的频率响应

例2.9(绘制频率响应):您可以借助bode命令绘制系统的频率响应。例如,可以借助以下命令绘制示例2.1中系统的波特图:

>> bode(H),grid on

如果要绘制特定间隔内系统的频率响应,必须定义所需的间隔。可以使用bode(sys, w),其中w是所需频率范围的向量。例如,如果您想绘制例2.1中[100Rad/s, 1000Rad/s]间隔的系统频率响应,可以使用以下代码。

>> w=logspace(log10(100),log10(1000));
>> bode(H,w)
>> grid on


您可以通过右键单击绘制的图形并选择Characteristics来测量其重要特征。

绘制系统的奈奎斯特图

例2.10(绘制奈奎斯特图):你可以借助Nyquist命令绘制系统的Nyquist图。例如,可以借助以下命令绘制示例2.1中系统的奈奎斯特图。

>> nyquist(H)

通过右键单击绘图并选择characteristics,可以看到绘制绘图的特征。

您可以通过右键单击图形并在出现的列表中单击Grid,将网格添加到绘制的图形中。向图形中添加网格的另一种方法是在MATLAB命令提示符中键入>>grid on

根轨迹图

例2.11(绘制奈奎斯特图):可以借助rlocus命令绘制动态系统的根轨迹图。例如,可以借助以下命令绘制H的根轨迹:

>> rlocus(H), grid on

单击Data Cursor 图标,将光标添加到绘图中。

还有另一个绘制根轨迹图的命令:rltool。借助rltool,您可以同时看到所有极点的运动。键入以下命令:

>> rltool(H), grid on

将出现下图所示的窗口。在左侧的Root Locus Editor for Loop Transfer中,极点以粉红色示出。

将闭环极点移动到所需位置。要执行此操作,请用鼠标左键单击粉色点,然后将点移动到所需位置,而无需松开鼠标左键。您可以同时看到所有点的移动。所需增益和其他有用信息显示在窗口底部。

将系统连接在一起

考虑如图所示的方框图。

可借助以下命令计算闭环传递函数:

>> C=tf([1.13 0.45],[1 0]);
>> P=tf([1],[1 3 3 1]);
>> CL=feedback(C*P,1)

您可以使用>>step(feedback(C*P,1)) 命令查看闭环系统的阶跃响应。

考虑如图所示的方框图。

在这种情况下,闭环传递函数的计算如下:

>>C=tf([1.13 0.45],[1 0]);
>>P=tf([1],[1 3 3 1]);
>>CL=feedback(P,C)

考虑图所示的方框图(在这个方框图中反馈是正的)。


在这种情况下,闭环传递函数的计算如下:

>>C=tf([1.13 0.45],[1 0]);
>>P=tf([1],[1 3 3 1]);
>>CL=feedback(P,C,+1)

下图所示的连接传递函数可借助于series命令,即>> series(C,P)

下图所示的连接传递函数可借助parallel命令获得,即>>parallel(C,P)

控制系统分析常用命令相关推荐

  1. asterisk 常用命令

    1.运行调试常用命令 ./asterisk & #后台启动 ./asterisk -vvvc #启动asterisk 并尽量多的在后台显示调试信息 ./asterisk -r #连接aster ...

  2. git 工具常用命令汇总

    git是一个分布式版本控制工具,比svn要强大很多,适用于中大型的团队开发.svn比较适合中小型的团队开发.多个git版本一般用repo工具进行控制. 常用命令: 1. 仓库管理 git init  ...

  3. linux系统print命令,linux常用命令 print格式输出

    格式化输出命令 printf '输出类型 输出格式' 输出内容 输出类型: %ns 输出字符串,n是数字指代输出的几个字符 %ni 输出整数,n是数字指代输出几个数字 %m.nf 输出浮点数.m和n是 ...

  4. openstack常用命令及控制节点端口一览

    [常用命令] 1,查看服务 openstack service list 2,查看endpoint openstack endpoint list, 3,查看域 openstack domain li ...

  5. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装 1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/ ...

  6. linux临时启动进程命令,Linux常用命令(一)服务控制及优化启动过程

    Linux常用命令(一) 服务控制及优化启动过程 一.Red hat系统开机引导过程 1.linux操作系统的引导过程一般包括以下几个阶段:开机自检.MBR引导.GRUB菜单.加载Linux内核.in ...

  7. BT 面板控制命令 宝塔 Linux 常用命令收集整理

    文章目录 BT 面板控制命令 宝塔 Linux 常用命令收集整理 1. 安装命令 2.卸载命令 3.显示 bt 命令行操作面板 4.忘记面板密码如何修改 5.对于 bt 管理的软件的管理 BT 面板控 ...

  8. linux命令查进程,Linux常用命令(十)查看和控制进程

    Linux常用命令(十)查看和控制进程 一.查看进程 1.ps命令--查看静态的进程统计信息(Processes  Statistic) ps命令时Linux系统中最为常用的进程查看工具,主要用于显示 ...

  9. linux常用命令(转载)

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...

最新文章

  1. [K/3Cloud]关于数据库sa密码更改,管理中心登录不上的问题。
  2. Android Studio MAT内存分析初探
  3. 2020-11-28(不定参数的函数)
  4. 《七哥说道》第五章:入职惨做苦力,画饼一望无际
  5. mockjs语法规范、设置mockjs拦截响应时间、Mock.Random占位符生成随机数据
  6. vue-cli+webpack项目,修改项目名称
  7. UITouch 触摸事件处理(实例)
  8. ES6新特性_ES6集合介绍与API---JavaScript_ECMAScript_ES6-ES11新特性工作笔记030
  9. Bailian4019 黑色星期五【模拟】
  10. base64编码_动画演示 Base 64 编码
  11. 如何用计算机解开op手机密码,OPPO手机忘记解锁密码怎么办 OPPO R9忘记解锁密码解锁教程...
  12. 数字后端概念——cut metal
  13. Vitis开发笔记:使用分区工具Gparted将SD卡分为BOOT和RoofFS
  14. JAVA提取纯文本_从常见文档中提取纯文本内容 | IT人生录
  15. 为了销量!苹果恐要iPhone SE降价:不到2千买吗?
  16. Human Pose Estimation with Spatial Contextual Information(CVPR2019)
  17. Tomcat8安装后tomcat8w.exe点击出现“指定的服务未安装”解决方案
  18. 视频多少帧时才不卡顿
  19. 大理石在哪儿_创建大理石样式CSS3导航菜单
  20. C#winform 经典小游戏贪吃蛇V1.0(一)

热门文章

  1. 5G产业——新智能时代革命
  2. Fastjson1.2.47反序列化漏洞复现
  3. LinkIn基于Dynamo设计的系统:伏地魔(voldemort)设计中文文档
  4. 菁英杯计算机科目,菁英杯自主招生认可吗
  5. MATLAB实现利用三个不共线的点绘制圆(包括圆心和半径的求解)
  6. Codeforces 1612C. Keshi Is Throwing a Party
  7. Fabric-solo on k8s
  8. win10系统怎么合并电脑分区?
  9. eap wifi 证书_WIFI用户EAP-TLS认证.pdf
  10. 操作系统-进程映像、虚拟内存