版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(MATLAB学习)第六节控制系统工具箱,第六节 控制系统工具箱,6.1 控制系统工具箱概述6.2 主要构成函数,(MATLAB学习)第六节控制系统工具箱,6.1 控制系统工具箱概述,MATLAB 6.X中的控制系统工具箱(控制系统工具箱) 为线性时不变系统(LTI)的建模和分析提供了丰富的函数 和工具, 既支持连续和离散系统, 也能处理SISO和MIMO 系统。 并且, 用户可以将多个LTI模型放在同一个数组中 统一进行计算和分析。 控制系统工具箱查看方式: 1、在命令窗口中输入 :help control 2、选择help菜单项 MATLAB help 项 打开MATLAB 帮助 找到 C
2、ontrol System Toolbox (控制系统工具箱),(MATLAB学习)第六节控制系统工具箱,MATLAB 6.X支持的LTI模型,传递函数模型 (TF) ,如 零极点-增益模型 (ZPK) ,如 状态空间模型 (SS) ,如 频率响应数据模型 (FRD),(MATLAB学习)第六节控制系统工具箱,连续与离散系统的关系示意图,各种线性时不变(LTI)系统之间的转换关系。,(MATLAB学习)第六节控制系统工具箱,6.2 连续系统主要函数,tf 创建或转换系统的传递函数模型 zpk 创建或转换零极点增益模型 ss 创建或转换连续系统状态空间模型 frd 创建FRD(频率响应)模型 t
3、fdata 获取传递函数中的数据 ssdata 获取状态空间模型中的数据 zpkdata 获取零极点增益模型中的数据 frdata 获取FRD模型中的数据 impulse 绘制系统的脉冲响应曲线 step 绘制系统的阶跃响应曲线 lsim 绘制系统在任意输入信号下响应曲线,(MATLAB学习)第六节控制系统工具箱,主要函数,nyquist 绘制nyquist图 bode 绘制bode图 nichols 绘制nichols图 freqs laplace变换频率响应 (s - 域) pole 得到极点 zero 得到零点 residue 留数运算 class 判断模型的类型,(MATLAB学习)第
4、六节控制系统工具箱,1. 创建系统的传递函数模型 tf,连续SISO系统的传递函数为: 可以采用两种方法创建SISO传递函数模型。 一种使用tf命令, 一种直接引用Laplace变量s的多项式。 使用tf命令的方法是 h = tf(num, den) 其中, 行向量num和den分别是多项式n(s)和d(s)的系数。 注意这里的多项式是按照s的降幂排列的。,(MATLAB学习)第六节控制系统工具箱,举例:使用tf命令,例如, 如果某个SISO系统的传递函数是 h(s)=s/(s2+2s+10) 则可以通过下面的命令来创建该系统的传递函数模型: h = tf(1 0,1 2 10) MATLAB
5、的输出结果为 s - s2 + 2 s + 10 h是一个TF对象, 存放传递函数的分子分母多项式数据,(MATLAB学习)第六节控制系统工具箱,引用Laplace变量s的多项式,也可以按照通常习惯用s的多项式来直接表示SISO 系统的传递函数。 首先将s定义为Laplace算子: s = tf(s); 然后输入s的多项表达式。 例如, 输入 H = s/(s2 + 2*s +10); 将产生与h = tf(1 0,1 2 10)相同的系统模型。,(MATLAB学习)第六节控制系统工具箱,2.创建零极点-增益模型 zpk,连续SISO系统的零极点-增益模型的一般形式为: 调用语句: 1、sys
6、 = zpk(Z,P,K) 连续系统的ZPK模型 2、sys = zpk(Z,P,K,Ts) 离散系统的ZPK模型 其中:Z为零点向量 P为极点向量 K为增益 Ts为采样时间参数,(MATLAB学习)第六节控制系统工具箱,举例:,例如, 如果某个SISO系统的传递函数是 h(s)=4*(s+1) / (s2 +7s+10) 则可以通过下面的命令来创建该系统的零极点模型: 参数值获取: Z = -1; P = -2 -5; K = 4; 调用语句: sys = zpk(Z,P,K) 调用结果:Zero/pole/gain: 4 (s+1) - (s+2) (s+5),(MATLAB学习)第六节控
7、制系统工具箱,3.创建连续系统状态空间模型 ss,状态空间模型是采用线性微分或差分方程来描述系统的动态行为。 连续时间系统具有如下的一般形式 使用ss命令创建系统的状态空间模型的调用格式为 sys = ss(A,B,C,D),(MATLAB学习)第六节控制系统工具箱,例:系统微分方程: 其中y为输出,u为输入。 令: 则: 即:,(MATLAB学习)第六节控制系统工具箱,在MATLAB中创建下面系统的状态空间模型: 输入sys = ss(0 1;-5 -2, 0;3, 0 1, 0) 创建的系统状态空间模型为,举例:,a= x1 x2 x1 0 1.00000 x2 -5.00000 -2.0
8、0000 b = u1 x1 0 x2 3.00000,c = x1 x2 y1 0 1.00000 d = u1 y1 0,(MATLAB学习)第六节控制系统工具箱,4. 创建FRD模型 frd,如果无法直接建立研究对象的传递函数或状态空间模型, 而只知道该系统在某些频率处的频率响应值, 仍然可以采 用frd命令创建该系统的频率响应模型。 frd命令的调用格式是 sys = frd(response, frequencies, units) 其中 frequencies是由不同频率值构成长为N的实数向量, response是与这些频率值对应复数形式频率响应值 nuits 是频率单位,缺省值r
9、ad/s,也可取Hz。 ,(MATLAB学习)第六节控制系统工具箱,举例:,w = 0:0.1:3; y = sin(w)+i*cos(w); a = frd(y,w),(MATLAB学习)第六节控制系统工具箱,各模型之间的相互转换,s = tf(s) a = (s+1)/(s2-2*s+1); freq = logspace(1,2); %101102 之间生成50个点 b = zpk(a) %tf - zpk c = ss(a) %tf - ss d = tf(b ) %zpk - tf e = ss(b) %zpk - ss f = zpk( c) %ss - zpk g = tf( c
10、) %ss - tf h = frd(a,freq) %tf - frd I = frd(b,freq) %zpk - frd j = frd(c,freq) %ss - frd,(MATLAB学习)第六节控制系统工具箱,5、获取模型参数,tfdata 获取传递函数中的数据 应用:num,den = tfdata(sys) 结果用cell保存 num,den = tfdata(sys,v) 结果用向量保存 举例:s = tf(s) a = (s+1)/(s2-2*s+1); 1. num,den = tfdata(a) 结果为 num = 1*3 double den = 1*3 double
11、 需要调用语句celldisp(num)查看num的值 2. num,den = tfdata(a,v) num = 0 1 1 den = 1 -2 1,(MATLAB学习)第六节控制系统工具箱,获取模型参数,ssdata 获取状态空间模型中的数据 应用:A,B,C,D = ssdata(sys) 结果直接显示 A,B,C,D = ssdata(sys,cell) 结果用cell保存 举例:s = tf(s) a = (s+1)/(s2-2*s+1); 1. A,B,C,D = ssdata(a) 结果为 A= B = C= D = 2. A,B,C,D = ssdata(a,cell) 需
12、要调用语句celldisp(A)查看A的值,(MATLAB学习)第六节控制系统工具箱,获取模型参数,zpkdata 获取零极点增益模型中的数据 应用:Z,P,K = zpkdata(sys) 结果用cell保存 Z,P,K = zpkdata(sys,v) 结果用向量保存 举例:s = tf(s) a = (s+1)/(s2-2*s+1); 1. Z,P,K = zpkdata(a) 结果为 Z = -1 P=2*1 double K = 1 需要调用语句celldisp(P)查看P的值 2. Z,P,K = zpkdata(a,v) Z=-1 P=1;1 K = 1,(MATLAB学习)第六
13、节控制系统工具箱,获取模型参数,frdata 获取FRD模型中的数据 应用: resp,freq = frdata(sys) 举例: freq = logspace(1,2,2); resp = .05*(freq).*exp(i*2*freq); sys = frd(resp,freq); resp,freq = frdata(sys,v),frdata 只能用于获取FRD模型中的数据 tfdata() zpkdata() ssdata() 可用于获取除FRD模型外的其他所有模型数据,(MATLAB学习)第六节控制系统工具箱,串联,并联,反馈 G1=tf(1,1 1); G2=tf(1,1
14、2); 串联: G3=G1*G2 Transfer function: 1 - s2 + 3 s + 2 并联: G4=G1+G2 Transfer function: 2 s + 3 - s2 + 3 s + 2,(MATLAB学习)第六节控制系统工具箱,反馈:函数 feedback(G,H,sign) sign=1为正反馈 sign=1为负反馈 G=tf(1,1 1); H=tf(1,1 0); sys=feedback(G,H,-1) Transfer function: s - s2 + s + 1,G(s),H(s),(MATLAB学习)第六节控制系统工具箱,时域响应 单位脉冲响应:
15、 impulse( ); 单位阶跃响应: step( ); 任意输入响应: lsim( ); 用法: 以 step( ) 为例: 1. step(sys), sys 为传递函数,执行结果为画单位阶跃响应曲线。 如:系统 的单位阶跃响应 G=tf(1,1 1 1); step(G),6. 绘制典型信号下的响应曲线,(MATLAB学习)第六节控制系统工具箱,(MATLAB学习)第六节控制系统工具箱, G=tf(1,1 1 1); t=0:0.01:15; step(G,t),(MATLAB学习)第六节控制系统工具箱,调用方法:y = step(sys,t) 其中,y 为单位阶跃响应的值。 如: G
16、=tf(1,1 1 1); t=0:0.01:15; y=step(G,t); 如果想看阶跃响应曲线可以plot( ) 函数画。 plot(t,y),(MATLAB学习)第六节控制系统工具箱,(MATLAB学习)第六节控制系统工具箱,任意输入响应:lsim( ) lsim(sys,u,t) 其中 u 为输入, t 为时间。 如 单位斜坡响应: t=0:0.01:10; u=t; G=tf(1,1 1 1); lsim(G,u,t),(MATLAB学习)第六节控制系统工具箱,(MATLAB学习)第六节控制系统工具箱,7. 绘制专用图形,nyquist 绘制nyquist图,又称极坐标图 以G(j
17、w)的实部和虚部分别作为横坐标和纵坐标绘制图形 用法:nyquist(sys) 举例:s = tf(s) a = (s+1)/(s2-2*s+1); nyquist(a),(MATLAB学习)第六节控制系统工具箱,根轨迹画法 函数:rlocus( ) 例:开环传递函数: G=tf(1 1,2 1 0); rlocus(G) axis equal,7. 绘制专用图形,(MATLAB学习)第六节控制系统工具箱,(MATLAB学习)第六节控制系统工具箱,零度根轨迹: 例:单位正反馈开环传递函数: G=tf(-1 -2,1 5 8 6); rlocus(G),(MATLAB学习)第六节控制系统工具箱,
18、(MATLAB学习)第六节控制系统工具箱,频率特性曲线 幅相频率特性曲线 函数 nyquist( ) 例: G=tf(4,1 1 4); nyquist(G) axis equal,(MATLAB学习)第六节控制系统工具箱,我,(MATLAB学习)第六节控制系统工具箱,(2)伯德图 函数 bode( ) Bode(G),(MATLAB学习)第六节控制系统工具箱,我,(MATLAB学习)第六节控制系统工具箱,(3) 尼科尔斯图 函数: nichols( ) nichols(G),(MATLAB学习)第六节控制系统工具箱,我,(MATLAB学习)第六节控制系统工具箱,8. 其他函数,pole 获得
19、极点 pole(sys) zero 获得零点 zero(sys) class 获得模型类型 class(sys) 举例: s = tf(s) a = (s+1)/(s2-2*s+1); pole(a) ans = 1; 1 zero(a) ans = -1 class(a) ans = tf,(MATLAB学习)第六节控制系统工具箱,传递函数: 绘制幅频特性图和相频特性图: a = 1 0.4 1; b = 0.2 0.3 1; w = logspace(-1,1); freqs(b,a,w),(MATLAB学习)第六节控制系统工具箱,(MATLAB学习)第六节控制系统工具箱,传递函数: 绘制幅频特性图和相频特性图: a = 1 1 4;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川达州招募增量政策性岗位工作人员笔试真题2025
- 黄南州教育局招聘教师笔试真题2025
- (正式版)DB34∕T 4201-2022 《外埠入皖动物指定通道检查管理规程》
- 2026 年汛期自然灾害安全避险知识宣讲
- 2026年感染性疾病科隔离患者心理护理干预
- 三篇校长新学期后勤工作讲话稿-后勤不后服务在先
- 某金属加工厂员工激励办法
- 某水泥厂原料管理细则
- 2026届高三英语秋季开学摸底考03(新高考)(考试版A4)
- 2026年高考英语冲刺复习名词清单(学生版+解析)
- 2026年云南省地矿测绘院有限公司招聘(37人)笔试备考试题及答案详解
- 环卫车辆更新改造项目可行性研究报告
- GB/Z 160-2025电气简图用图形符号IEC 60617标准化设计指南
- XXX公司2026年度安全生产资金投入计划(安全生产资金投入制度)
- 2026届云南省红河州、文山州第四次州统测预测历史试题(含答案)
- 巨幼细胞性贫血诊疗指南(2025年版)
- 2026年留疆战士考试题库及答案含解析
- 2026光伏组件回收技术突破与循环经济产业链构建白皮书
- 沙雅县2026年古勒巴格镇示范村人居环境整治项目水土保持方案报告表
- 2026年曲妥珠单抗行业分析报告及未来发展趋势报告
- 双湖县公务员考试公共基础知识试题库(含答案)
评论
0/150
提交评论