matlab自动控制仿真常见函数应用.doc

自动控制常见MATLAB函数的应用roots/conv/rlocus/zpk/tf/bode/step/impulse1、在matlab中采用roots函数求解多项式的根,采用conv函数实现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G1±G2(3)、反馈连接命令G=feedback(G1,G2,Sign)(sign用来表示系统是正反馈或负反馈,sign=-1为负反馈)例如:①程序如下:>>p=[1304];>>roots(p)ans=-3.35530.1777+1.0773i0.1777-1.0773i②、用matlab实现:程序如下:>>p=[321];q=[14];>>n=conv(p,q)n=31494③、一个传递函数模型,32()4pss2()(31)(4)nssss325()4sGsss可以由下面的命令输入:>>num=[15];den=[1345];>>G=tf(num,den)Transferfunction:s+5---------------------s^3+3s^2+4s+5④、如下图所示,前向传递函数为G(S),反馈回路传递函数为H(S),利用feedback计算系统的闭环传递函数程序如下:>>numg=[1];deng=[50000];>>numh=[11];denh=[12];>>[num,den]=feedback(numg,deng,numb,denh,-1);>>[num,den]=feedback(numg,deng,numh,denh,-1);>>G=tf(num,den)()()()21()50RSESCS1()2SHTransferfunction:s+2--------------------------500s^3+1000s^2+s+12、在matlab中,可以轻松的求解系统的所有极点,从而判断其稳定性例子:系统的传递函数为:用matlab判断其稳定性,程序如下:>>num=[1,7,24,24];>>den=[1:9];>>roots(den)ans=-1.2888+0.4477i-1.2888-0.4477i-0.7244+1.1370i-0.7244-1.1370i0.1364+1.3050i0.1364-1.3050i0.8767+0.8814i0.8767-0.8814i328765324()2789SSGSS可见4个极点带有正实部,所以系统不稳定3、MATLAB中给出了一个函数step()直接求取线性系统的阶跃响应,该函数的调用方式如下:y=step(G,t)(G为系统的传递函数,t为要计算的点到所在时刻的值组成的时间向量,t一般可以由t=0:dt:t_end等步长地产生,t-end为终值时间,而dt为步长;y为系统的输出量)例子:系统的传递函数为:线性系统的稳态值可以通过dcgain()来求得,impulse()函数可以求出系统的脉冲响应程序如下:>>num=[1,7,24,24];den=[1,10,35,50,24];>>G=tf(num,den);>>t=0:0.1:10;>>y=step(G,t);>>plot(t,y)>>Y=dcgain(G)Y=1>>holdon>>y1=impulse(G,t);>>plot(t,y1)32474()105024SSG例子:控制精度变化时,系统的闭环传递函数为:应用如下MATLAB语言,可得到=10、=40、=80时的系统响应。可见,当时,系统响应速度明显加快,但出现振荡程序如下:>>ka=80;>>nf=[5000];df=[11000];>>ng=[1];dg=[1200];>>[num,den]=series(ka*nf,df,ng,dg);>>[n,d]=cloop(num,den);>>t=[0:0.01:2];>>y=step(n,d,t);ak1232()50()150aaakGSKssskaka80a>>plot(t,y, black ),gridon4、用matlab绘制根轨迹MTLAB中提供了rlocus()函数,用来绘制给定的根轨迹,该函数的调用方式为:(G为系统的模型,R=rlocus(G,K)输入变量k为用户自己选择的增益,返回的变量R为根轨迹各点构成的复数矩阵)如果k值不给定,则该函数自动选择k,在这种情况下,调用格式为[,]()RKrlocusG这样产生的k值可以用来确定闭环系统稳定的增益范围如果在函数调用中不返回任何参数,则将在图形窗口中自动绘制系Rlocus(G)统根轨迹曲线Rlocufind()函数允许用户求取根轨迹上指定点处的开环增益,并将该增益下的所有的闭环极点显示出来:[KP]=rlocufind(G)例子:闭环系统的闭环传递函数为:特征方程可以写为:在解题前,必须将特征方程写成下面形式:K为所关心的参数,变化范围从0到,绘制的根轨迹如下:程序如下:>>num=[11];>>den=[1560];>>G=tf(num,den);>>holdon;rlocus(G);>>[K,P]=rlocfind(G)Selectapointinthegraphicswindowselected_point=-2.4621+0.0248iK=0.4196P=-2.4655+0.0246i(1)2()23(1)Ksss110(2)(3sK()0PQs-2.4655-0.0246i-0.0690例子:研究系统根轨迹曲线和阶跃响应曲线之间的关心,考虑系统输出:输入为单位阶跃信号时:程序如下:>>t=0:0.2:15;>>K=16.2859;>>num=K*[143];>>den=[156+KK];>>G=tf(num,den);>>y=step(G,t);>>plot(t,y)(1)2()()()23(1KsCsRsRs>>gridon5、在MATLAB中,使用较多的频域稳定性函数有bode函数、nyquist函数、nichols函数、margin函数,pade函数,ngrid函数等。MATLAB的控制系统工具箱中提供了bode()函数来求取、绘制给给定线性系统的伯德图,函数调用方式如下:[mag,pha]=bode(G.,w)其中G为系统的对象模型,变量w为用户制定频率点构成的向量,该函数在这些频率点上对系统进行频率分析。mag、pha对应系统的幅值和相位向量,相位的单位为角度。同时经常要将幅值向量转换成分贝形式,MATLAB命令为:该函数的另一种调用格式为:[mag,pha,w]=bode(G.)这时w可以自动生成,如果在调用bode函数时不返回变量,则MATLAB自动生成系统的伯德图。一般和计算增益裕度和相角裕度的函数margin结合使用例子:考虑系统传递函数:则可以用下面的命令绘出系统的伯德图,计算出增益裕度和相角裕度,程序如下:>>w=logspace(-1,1,200);>>num=[13];>>den

matlab 自动控制函数,matlab自动控制仿真常见函数应用.doc相关推荐

  1. matlab 自动扫雷,MATLAB自动扫雷(2)——排雷插旗

    如果周围8个方块和当中数字判断周围有空白方块 % 点击白块 function click_blank() global map global blocks_x global blocks_y glob ...

  2. matlab计算频域动态性能指标,基于MATLAB自动控制系统时域频域分析与仿真.doc

    word文档 可编辑复制 word文档 可编辑复制 基于MATLAB的自动控制系统时域频域分析与仿真 摘 要 自动控制系统就是在无人直接操作或干预的条件下,通过控制装置使控制对象自动的按照给定的规律运 ...

  3. 自动控制matlab实验,自动控制原理MATLAB实验报告.doc

    自动控制原理MATLAB实验报告 实验一 控制系统数学模型的Matlab实现 一.实验目的 二.实验环境及仪器 五.思考题 实验一 控制系统数学模型的Matlab实现 一.实验目的 二.实验环境及仪器 ...

  4. 使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真

    使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真 总论 环境配置 系统搭建 总论 使用MATLAB中的强化学习工具箱作为核心算法的建立工具,在simuli ...

  5. 通过文件读写方式实现Matlab和Modelsim的联合仿真

    虽然 Modelsim 的功能非常强大,仿真的波形可以以多种形式进行显示,但是当涉及到数字信号处理的算法的仿真验证的时候,则显得有点不足.而进行数字信号处理是 Matlab 的强项,不但有大量的关于数 ...

  6. matlab故障识别,基于Matlab的电力系统故障分析与仿真(V2.1)最新版

    <基于Matlab的电力系统故障分析与仿真.doc>由会员分享,可免费在线阅读全文,更多与<基于Matlab的电力系统故障分析与仿真(V2.1)>相关文档资源请在帮帮文库(ww ...

  7. matlab自动变量名,matlab中如何自动给变量命名?

    在大量数据处理中,如果单独给变量命名,无疑是一项简单.费时.重复性工作.matlab通过eval函数提供了自动命名变量的功能,见下面的例子: %%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  8. 用matlab做音乐仿真,Matlab课程设计报告--MATLAB GUI的音乐键盘仿真

    Matlab课程设计报告--MATLAB GUI的音乐键盘仿真 1 MATLAB MATLAB 实践实践 课程设计课程设计 目目 录录 1.1.设计目的设计目的3 3 2.2.题目分析题目分析3 3 ...

  9. Matlab 2018a与SolidWorks联合仿真——如何将SolidWorks模型以xml格式导出至Matlab中

    Matlab 2018a与SolidWorks联合仿真--如何将SolidWorks模型以xml格式导出至Matlab中   要实现Solidworks与Matlab的联合仿真,需要在Solidwor ...

最新文章

  1. hook 与aspectj_将AspectJ与NetBeans平台开发集成
  2. rsync配置和使用
  3. 搜索 —— 启发式搜索 —— 爬山法
  4. Gulp和Webpack对比
  5. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_17-CMS前端工程创建-单页面应用介绍...
  6. 刷题记录 kuangbin带你飞专题五:并查集
  7. oneno浏览器插件_Send to OneNote 1.2.13
  8. 小说网站系统源码|PHP付费小说网站源码带app
  9. 简单的文件内容繁简体甄别
  10. vscode 初始化HTML结构
  11. 在linux下 配置内网ip`
  12. 北航2017级软件学院算法第一次上机题解
  13. Websocket服务端和客户端通信(WSS、WS)
  14. IDEA主题配置--- 炫酷的主题字体颜色设置(基于Intellij IDEA 2018)
  15. Spring Boot Actuator与Spring Boot Admin详解
  16. 什么是Https、数字签名、数字证书
  17. PAT 1110 区块反转 (25 分) c语言
  18. 很好的网站,你懂的,不喜勿喷
  19. 硬盘变成了raw格式了怎么办?数据还能找回吗
  20. python折线图绘制——记录

热门文章

  1. java 日食还是月蚀,2018年日食和月食时间
  2. 编程练习题 没答案版
  3. RK3399平台开发系列讲解(PCI/PCI-E)5.55、PCIE RC枚举EP过程
  4. a session ended very soon after starting. check that the command in profile XXX is correct
  5. php md5加解密实例
  6. 上海地铁行业运营模式与发展前景研究报告2022版
  7. 【NLP】word2vec词向量模型训练——基于tensorflow
  8. linux 设备驱动 ppt,linux设备驱动开发详解讲座ppt
  9. Altium Designer--如何制作过孔(Via)库
  10. 设置邮件规则,轻松整理你的收件箱!