控制系统分析常用命令
系列文章目录
本系列由五章组成。以下是这些章节的简要总结:
第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)
。
控制系统分析常用命令相关推荐
- asterisk 常用命令
1.运行调试常用命令 ./asterisk & #后台启动 ./asterisk -vvvc #启动asterisk 并尽量多的在后台显示调试信息 ./asterisk -r #连接aster ...
- git 工具常用命令汇总
git是一个分布式版本控制工具,比svn要强大很多,适用于中大型的团队开发.svn比较适合中小型的团队开发.多个git版本一般用repo工具进行控制. 常用命令: 1. 仓库管理 git init ...
- linux系统print命令,linux常用命令 print格式输出
格式化输出命令 printf '输出类型 输出格式' 输出内容 输出类型: %ns 输出字符串,n是数字指代输出的几个字符 %ni 输出整数,n是数字指代输出几个数字 %m.nf 输出浮点数.m和n是 ...
- openstack常用命令及控制节点端口一览
[常用命令] 1,查看服务 openstack service list 2,查看endpoint openstack endpoint list, 3,查看域 openstack domain li ...
- openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...
openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装 1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/ ...
- linux临时启动进程命令,Linux常用命令(一)服务控制及优化启动过程
Linux常用命令(一) 服务控制及优化启动过程 一.Red hat系统开机引导过程 1.linux操作系统的引导过程一般包括以下几个阶段:开机自检.MBR引导.GRUB菜单.加载Linux内核.in ...
- BT 面板控制命令 宝塔 Linux 常用命令收集整理
文章目录 BT 面板控制命令 宝塔 Linux 常用命令收集整理 1. 安装命令 2.卸载命令 3.显示 bt 命令行操作面板 4.忘记面板密码如何修改 5.对于 bt 管理的软件的管理 BT 面板控 ...
- linux命令查进程,Linux常用命令(十)查看和控制进程
Linux常用命令(十)查看和控制进程 一.查看进程 1.ps命令--查看静态的进程统计信息(Processes Statistic) ps命令时Linux系统中最为常用的进程查看工具,主要用于显示 ...
- linux常用命令(转载)
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
最新文章
- [K/3Cloud]关于数据库sa密码更改,管理中心登录不上的问题。
- Android Studio MAT内存分析初探
- 2020-11-28(不定参数的函数)
- 《七哥说道》第五章:入职惨做苦力,画饼一望无际
- mockjs语法规范、设置mockjs拦截响应时间、Mock.Random占位符生成随机数据
- vue-cli+webpack项目,修改项目名称
- UITouch 触摸事件处理(实例)
- ES6新特性_ES6集合介绍与API---JavaScript_ECMAScript_ES6-ES11新特性工作笔记030
- Bailian4019 黑色星期五【模拟】
- base64编码_动画演示 Base 64 编码
- 如何用计算机解开op手机密码,OPPO手机忘记解锁密码怎么办 OPPO R9忘记解锁密码解锁教程...
- 数字后端概念——cut metal
- Vitis开发笔记:使用分区工具Gparted将SD卡分为BOOT和RoofFS
- JAVA提取纯文本_从常见文档中提取纯文本内容 | IT人生录
- 为了销量!苹果恐要iPhone SE降价:不到2千买吗?
- Human Pose Estimation with Spatial Contextual Information(CVPR2019)
- Tomcat8安装后tomcat8w.exe点击出现“指定的服务未安装”解决方案
- 视频多少帧时才不卡顿
- 大理石在哪儿_创建大理石样式CSS3导航菜单
- C#winform 经典小游戏贪吃蛇V1.0(一)
热门文章
- 5G产业——新智能时代革命
- Fastjson1.2.47反序列化漏洞复现
- LinkIn基于Dynamo设计的系统:伏地魔(voldemort)设计中文文档
- 菁英杯计算机科目,菁英杯自主招生认可吗
- MATLAB实现利用三个不共线的点绘制圆(包括圆心和半径的求解)
- Codeforces 1612C. Keshi Is Throwing a Party
- Fabric-solo on k8s
- win10系统怎么合并电脑分区?
- eap wifi 证书_WIFI用户EAP-TLS认证.pdf
- 操作系统-进程映像、虚拟内存