《MATLAB在控制系统仿真中的应用》由会员分享,可在线阅读,更多相关《MATLAB在控制系统仿真中的应用(23页珍藏版)》请在人人文库网上搜索。

1、第四章 MATLAB在控制系统仿真中的应用,一、控制系统数学模型的基本描述方法,G(s)= G(s),控制系统仿真中,主要用4种形式的数学模型:传递函数、零极点模型、结构图形式和状态方程模型,传递函数 零极点 状态方程,结构图形式,X = Ax + Bu Y = Cx + Du,4.1.1 控制系统的传递函数描述,用分子分母的系数构成两个向量,唯一的确定出来: num=b1,b2,bn den =a1,a2,an 注意:构成分子,分母向量按降幂排列的顺序。 传递函数的分子、分母均为多项式相乘的形式时,不能 直接写出,可借助多项式乘法运算函数conv( )来处理, 以便获得分子、分母多项式向量,。

2、举例,4.1.2 控制系统的零极点模型,将零点、极点及K值输入即可建立零极点模型。 z=-z,-z ,-z p=-p,-p ,-p k=k 对于给出的传函来说,分别对分子分母作因式分解,则可以得出系统的零极点模型。这可以通过求出分子,分母多项式的根来实现。MATLAB中提供了多项式求根的函数,roots ( ) 调用格式: z=roots(a) 其中:z 各个根所构成的向量 a 多项式系数向量 系统增益k即为原传递函数分子的最高项系数与分母最高项系数的比值。分别求出分子分母多项式的根,即可得到系统的零,极点模型,4.1.3 控制系统状态方程模型,只要将A,B,C,D几个矩阵输入进去即可。 对于。

3、离散系统来说,也与上面类似。 MATLAB还提供了由系统状态方程转换为系统零极点模型及传递函数模型的函数。 num , den=ss2tf(A ,B ,C ,D , iu ) %iu表示输入的序号(对多输入系统) z, p ,k=ss2zp(A ,B ,C ,D , iu ) %z ,p ,k 表示对第iu个输入信号的传递函数的零极点。 A , B ,C ,D= tf2ss (num , den) A , B ,C ,D=zp2ss(z ,p ,k,4.1.4 控制系统工具箱中的LTI对象,为了避免对一个系统采用多个分离变量进行描述,新版本的控制系统工具箱,将LTI系统的各种描述封装成一个对象。

4、,即用一个变量来描述。 在控制系统工具箱中,有以上讲述的三种对象,即ss 对象,tf对象和zpk对象。每种系统模型的生成和模型间的转换均可以通过一个函数来实现,dss( )函数:生成系统的状态空间模型,filt( )函数:生成DSP(数字信号处理)形式的离散传递函数,ss( )函数:生成状态空间模型,或者将传递函数及零极点模型转换成状态空间模型,tf( )函数:生成传递函数模型,或将零极点模型及状态空间模型转换成传递函数模型,zpk( )函数:生成零极点模型或者将其他模型转化成零极点模型,4.1.5 控制系统的结构图描述及转换,注意:复杂的结构图建模可以用SIMUKINK,简单的结构图描述 及。

5、典型连接,串联 并联 负反馈,series() Parallel() Feedback(,二、控制系统的稳定性分析,计算机仿真中,控制系统稳定性的分析方法有: 求闭环特征方程的根; 化为零极点模型,看极点是否在s右半平面; 对状态空间形式(闭环),求A阵的特征值eig(A); 用Lyapunov方程求解。 在自控原理中,均采用间接方法劳斯判据,奈氏判据等,但由于在MATLAB中很容易地求解多项式方程。因此,我们可以直接求出特征方程的根,可用多项式求根函数roots(,控制系统的稳定性分析,numg=1; deng=1 1 2 23; numf=1; denf=1; (num,den)= fee。

6、dback(numg,deng,numf,denf,-1); roots(den,例,三、控制系统的根轨迹,控制系统工具箱中提供了系统根轨迹绘制及分析函数,还有一个GUI分析工具。根轨迹的绘制及分析函数: rlocfind():计算给定根的根轨迹增益 格式:k,poles=rlocfind(sys) k,poles= rlocfind(sys,p) rlocus() 函数:功能为求系统根轨迹。 格式:rlocus(sys)- 计算SISO开环LTI对象的根轨迹, 增益自动选取。 rlocus(sys,k)-显式设置增益。 r,k= rlocus(sys)- 返回系统的增益k(向量)和 闭环极点。

7、r(向量),即对应于增益的闭环极点为r(i) sgrid()函数:绘制连续时间系统根轨迹和零极点图中的阻 尼系数和自然频率栅格线,控制系统的根轨迹,num=2 5 1; den =1 2 3; sys=tf(num,den); rlocus(sys); r,k=rlocus(sys); gain,poles=rlocfind(sys,例:系统开环传递函数,四、系统的频率响应,若系统的传递函数为: G(s) = 则频率特性函数 G(j ) = 若系统由状态空间模型来描述,则系统的频率特性为: G(j )=Cj I+A B+D,计算方法: polyval(num,sqrt(-1)*w)./poly。

8、val(den,sqrt(-1)*w) 或 H=freqresp(sys,系统频率响应曲线的绘制(一,Bode图绘制:bode()函数 调用格式: bode(sys): bode(num,den) bode(A,B,C,D,iu) -可自动地选择一个合适的频率范围。 bode(sys,w)-给出频率范围,这里频率范围一般由logspace(a,b,n)给出。 mag,phase,=bode(sys)或m,p=bode(sys) 这种格式只计算Bode图的幅值向量和相位向量,不画出图形。要在此基础上画图,可用: subplot(211);semilogx(,20*log10(m) %对数幅频曲线。

9、 subplot(212);semilogx(,p) %对数相频曲线 bode(,) bode(,) 这两种格式可在一个图形窗口同时绘多个系统的bode图,系统频率响应曲线的绘制(二,Nyquist曲线的绘制: nyquist()函数 格式: nyquist(sys) nyquist(sys,) nyquist(,) nyquist(,) re,im,=nyquist(sys) re频率响应实部 im虚部,计算控制系统的稳定裕度,margin( )函数 利用该函数可以直接求出系统的幅值裕度和相角裕度。 调用格式为: Gm,Pm,Wcg,Wcp= margin(num,den) = margin。

10、(A,B,C,D) = margin(sys) Gm- 幅值裕度;Pm-相位裕度; Wcg-幅值裕度处对应的频率;Wcp-相位裕度处对应的频率。 Gm,Pm,Wcg,Wcp=margin(mag ,phase,) -根据幅值、相位数据计算稳定裕度。 margin(sys) -在当前图形窗口中绘制出系统裕度的Bode图,五、线性系统时间响应分析,工具箱已提供直接求各种输入下系统响应的函数。 一般控制系统的输入有:阶跃,斜坡,加速度及脉冲输入等。在工具箱中主要提供了如下三种函数: 1step( )函数-求系统阶跃响应 2impulse( )函数:求取系统的脉冲响应 3lsim( )函数:求系统的任。

11、意输入下的仿真,4.5.1 系统阶跃响应,step( )函数-求系统阶跃响应 其调用格式为: 1)step(sys) step(num,den) 2) step(sys,t) -定义仿真时间 这两种格式直接画出响应曲线 3)y,x=step(sys)-只计算仿真数据,不画图。 =step(sys,t) y -各个仿真时刻的输出向量。 x -自动选择的状态向量的时间响应数据。 4)step(sys1,sys2,)同时仿真多个系统,4.5.2 系统脉冲响应,impulse( )函数-求系统脉冲响应 其调用格式为: 1) impulse(sys) impulse(num,den) 2) impuls。

12、e(sys,t) -定义仿真时间 这两种格式直接画出响应曲线 3)y,x= impulse(sys)-只计算仿真数据不画图 = impulse(sys,t) y -各个仿真时刻的输出向量。 x -自动选择的状态向量的时间响应数据。 4) impulse(sys1,sys2,)同时仿真多个系统,4.5.3 任意输入下系统响应,lsim( )函数:求系统的任意输入下的仿真 格式: 1)lism(sys ,u ,t) u-给定输入构成的列向量,它的元 素个数应与t的元素个数相一致。 这种形式还可以写成: lsim(num ,den ,u ,t) lsim(A ,B ,C ,D ,iu ,u ,t)其。

13、中:iu-输入变量序号 2)lsim(sys ,u ,t,)-定义初始状态 3)y,x=lsim(sys ,u ,t ,)-不画出图形只算数据 4)lsim(,t)-同时仿真多个LTI对象,线性系统时间响应分析(一,例:求下面系统在阶跃信号为0.11(t)时系统的响应,num=20; den=1 8 36 40 20; t=0:0.1:20; t1=length(t); u=ones(t1,1)*0.1; y,x=lsim(num ,den ,u ,t) plot(t,y) grid,线性系统时间响应分析(二,例:已知系统开环传递函数为: 求系统单位阶跃响应,并求出超调量、调节时间(误差在5%。

14、以内)、上升时间。(编写相应的M文件实现,n=5;d=1 2 5; nc,dc=feedback(n,d,1,1,-1); s=tf(nc,dc); y,t=step(s); wentai=polyval(nc,0)/polyval(dc,0) caotiao=100*(max(y)-wentai)/wentai,六、延迟系统的仿真,纯时间滞后环节可以由有理函数来近似,1892年法国数字家Pade曾提出了一种著名的有理近似方法,后人将它命名为Pade近似法。其表达式为,控制系统工具箱提供了一个函数pade( ) 调用格式为: num ,den= pade(T ,n) - 返回近似模 T-延迟时间常数 n-要求拟和的阶数 或:A,B,C,D=pade(T ,n)-返回等效状态方程模型 拟和的阶数越高,精度也越高,纯时间滞后环节为,七、状态空间法仿真实现,介绍控制系统工具箱中,几种状态空间法实现的函数 ss2ss( ):功能是进行相似变换 ctrb()函数:功能是计算可控性矩阵 Co=B AB ctrbf()函数:系统的可控与不可控分解 obsv() 函数:计算可观性矩阵 obsvf():系统的可观与不可观分解 minreal():状态空间的最小实现,例:sim4_6.m。

matlab在线性系统中的应用,MATLAB在控制系统仿真中的应用相关推荐

  1. SCILAB及其在控制系统仿真中的应用

    科学计算软件SCILAB及其在控制系统仿真中的应用 黄慧敏 徐华中 (武汉理工大学 自动化学院,湖北 武汉,430070) 摘要:Scilab (Science laboratory)是一种类似于商业 ...

  2. 如何解决simulink控制系统仿真中的代数环

    目录 1. 什么是代数环 2. 如何解决代数环 3. 多个s函数导致的代数环 4. 源代码 1. 什么是代数环 在simulink仿真过程中,当输入信号直接取决于输出信号,同时输出信号也直接取决于输入 ...

  3. matlab在电气信息类专业中的应用,MATLAB在电气信息类专业中的应用(高等学校应用型特色规划...

    第1章 matlab语言总览 1.1 matlab简介 1.1.1 matlab概况 1.1.2 matlab基本工作界面 1.2 matlab的工作环境 1.3 matlab入门 1.4 matla ...

  4. 风力发电控制系统的matlab,基于MATLAB的风机控制系统仿真

    内容简介: 毕业设计 基于MATLAB的风机控制系统仿真,共31页,13760字 摘要:近年来,鉴于风力发电在新的可再生能源方面的发展前景,使得风力发电的研制在世界范围内获得了蓬勃发展.风能利用效率的 ...

  5. 单位斜变函数matlab,实验二 用MATLAB实现线性系统的时域分析

    实验二基于MATLAB的线性系统时域分析 [实验目的] 1.研究线性系统在典型输入信号作用下的暂态响应: 2.熟悉线性系统的暂态性能指标: 3.研究二阶系统重要参数阻尼比ξ对系统动态性能的影响: 4. ...

  6. P10 线性系统状态空间设计-《Matlab/Simulink与控制系统仿真》程序指令总结

    上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 10. 线性系统状态空间设计 10.1 Ma ...

  7. P9 线性系统状态空间分析-《Matlab/Simulink与控制系统仿真》程序指令总结

    上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 9. 线性系统状态空间分析 9.2.4 状态 ...

  8. 频域串联滞后校正matlab,控制工程基础(基于Matlab的线性系统串联校正)

    <控制工程基础(基于Matlab的线性系统串联校正)>由会员分享,可在线阅读,更多相关<控制工程基础(基于Matlab的线性系统串联校正)(16页珍藏版)>请在人人文库网上搜索 ...

  9. 自动控制原理matlab pdf下载,第五章-matlab在自动控制原理中的应用.pdf

    第五章-matlab在自动控制原理中的应用.pdf 第第五五章章 MATLAB MATLAB MATLAB MATLAB在自动控制原理的应用在自动控制原理的应用 5 5 5 5 1 1 1 1 控制系 ...

最新文章

  1. 使用XMLSpyDocEditPlugIn2.dll,页面加载失败
  2. iceworks-cli构建模块说明
  3. matlab swt函数,matlab swt 函数出错
  4. emc re 整改 超标_老刘工程师睡前故事5-EMC 辐射发射超标怎么办?
  5. maven生成jar包
  6. 进程和线程的区别, 面相对象补充, 进程, 数据共享, 锁, 进程池, 爬虫模块(requests, bs4(beautifulsoup))...
  7. 解决ubuntu中zabbix 4.2图形显示乱码
  8. hdu 2011 多项式求和 解题报告
  9. java class 文件
  10. Scrum:The Definition of Done —— 作业有没有写完呢?
  11. 笔记:MapReduce Design Patterns
  12. paip.js input onclick失灵不起作用无反应的解决.txt
  13. c语言课件谭浩强ppt下载,c语言课件谭浩强
  14. 西南科技大学OJ题 约瑟夫问题的实现0956
  15. 15 个为编程初学者准备的网站
  16. Dubbo是什么?能做什么?架构图?
  17. 3D游戏建模:游戏建模都要用到哪些软件?
  18. 注入——sql注入命令
  19. MySQL 数据库文件 详解
  20. Linux ALSA音频系统:soundcard

热门文章

  1. WXSS-WXML-WXS
  2. java打开浏览器_Java调用浏览器打开网页完整实例
  3. Spring框架两大核心特征的基本理解
  4. 使用MCU SPI访问具有非标准SPI接口ADC的方法
  5. canvas之-------水滴扩散特效
  6. 等保分保关保密评|四道防线守护网络信息安全
  7. Rsync 备份服务:基本概述、应用场景、传输模式、注意事项、密码解决方案、服务实践、备份案例、结合inotify
  8. 旧 Mac、PC 别扔,变身 Chromebook 了解一下
  9. [刷题]2017百度之星资格赛 - 度度熊与邪恶大魔王
  10. oracle中distance用法,distance的用法和短语例句