欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Matlab使用学习教程.pptx

    • 资源ID:77383253       资源大小:961.08KB        全文页数:51页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Matlab使用学习教程.pptx

    MatlabMatlab概述概述1MatlabMatlab系统模型处理系统模型处理2MatlabMatlab时域响应分析时域响应分析3MatlabMatlab根轨迹绘制根轨迹绘制4MatlabMatlab频率特性分析频率特性分析5第1页/共51页1.1 Matlab1.1 Matlab概述概述MatlabMatlab语言是由美国语言是由美国Clever MolerClever Moler博士于博士于19801980年开年开发的。设计者的初衷是为解决发的。设计者的初衷是为解决“线性代数线性代数”课程的矩阵运课程的矩阵运算问题。取名算问题。取名MATLABMATLAB即即Matrix Laboratory Matrix Laboratory 矩阵实验室矩阵实验室的意思。的意思。MATLABMATLAB的历史:的历史:l7070年代后期美国新墨西哥大学年代后期美国新墨西哥大学cleve molercleve moler为为linspacklinspack和和eispackeispack编写的接口程序。编写的接口程序。l8080年代初,用年代初,用C C编写的编写的MATLABMATLAB二代版本。二代版本。l19841984,MATHWORKSMATHWORKS公司成立。(图形处理,数值计算、公司成立。(图形处理,数值计算、符号计算、文字处理、数学建模、实时控制、动态仿真)符号计算、文字处理、数学建模、实时控制、动态仿真)第2页/共51页MATLABMATLAB是一种直译式高级语言,比其它程序设计语言是一种直译式高级语言,比其它程序设计语言容易。容易。它将一个优秀软件的易用性与可靠性、通用性与专业性它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机的相结合。、一般目的的应用与高深的科学技术应用有机的相结合。MATLABMATLAB已经不仅仅是一个已经不仅仅是一个“矩阵实验室矩阵实验室”了,它集科了,它集科学计算、图象处理、声音处理于一身,并提供了丰富的学计算、图象处理、声音处理于一身,并提供了丰富的WindowsWindows图形界面设计方法图形界面设计方法所以,由上可以看出所以,由上可以看出MatlabMatlab的应用范围非常广,我们的应用范围非常广,我们主要讲解主要讲解MatlabMatlab在自动控制理论中的应用。在自动控制理论中的应用。关于关于MatlabMatlab的基本操作,相关介绍书籍非常之多,请的基本操作,相关介绍书籍非常之多,请同学们查找相关书籍,自行学习。同学们查找相关书籍,自行学习。1.2 Matlab语言功能第3页/共51页符号运算功能l符号运算即用字符串进行数学分析l允许变量不赋值而参与运算l用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰乐级数展开、寻优等等,可求得解析符号解符号运算功能lMATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。l变量 矩阵,运算 矩阵的运算l例如 C=A+B,A,B,C都是矩阵,是矩阵的加运算l即使一个常数,Y=5,MATLAB也看做是一个11的矩阵1.2 Matlab语言功能第4页/共51页丰富的绘图功能与计算结果的可视化丰富的绘图功能与计算结果的可视化l具有高层绘图功能具有高层绘图功能两维、三维绘图两维、三维绘图l具有底层绘图功能具有底层绘图功能句柄绘图句柄绘图l使用使用plotplot函数可随时将计算结果可视化函数可随时将计算结果可视化图形化程序编制功能l动态系统进行建模、仿真和分析的软件包l用结构图编程,而不用程序编程l只需拖几个方块、连几条线,即可实现编程功能1.2 Matlab语言功能第5页/共51页1.2 Matlab语言功能第6页/共51页丰富的丰富的MATLABMATLAB工具箱工具箱MATLABMATLAB主工具箱主工具箱符号数学工具箱符号数学工具箱SIMULINKSIMULINK仿真工具箱仿真工具箱控制系统工具箱控制系统工具箱信号处理工具箱信号处理工具箱图象处理工具箱通讯工具箱系统辨识工具箱神经元网络工具箱金融工具箱许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大。推荐一本书:控制系统计算机辅助设计 薛定宇 著1.2 Matlab语言功能第7页/共51页启动平台工作空间窗口命令历史记录当前路径窗口命令窗口1.3 Matlab界面视图第8页/共51页与Windows的窗口界面类似,有菜单项File、Edit、Option、Windows、Help等项可以选择。工作窗出现以后,即可进行各种操作1.3 Matlab界面视图第9页/共51页菜单项File,其功能如下New 建立新文件Open M-File 打开M-文件Open selected 打开选定文件Save Workspace As 将工作区存为Run M-File 运行 M-文件Look For Selected 寻找选定文件Print 打印Print Setup 打印设置Exit MATLAB 退出 MATLAB1.3 Matlab界面视图第10页/共51页例例1 用一个简单命令求解线性系统用一个简单命令求解线性系统 3x1+x2-x3 x1+2x2+4x3 -x1+4x2+5x3 A=3 1-1;1 2 4;-1 4 5;b=3.6;2.1;-1.4;x=Abx=对于线性系统有Ax=b1.3 Matlab界面视图第11页/共51页例2 计算并绘制在0 x6范围内的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2;plot(x,y1,x,y2,x,y3)1.3 Matlab界面视图第12页/共51页help 功能提供matlab大部分主题的在线帮助信息help 显示help 主题一览表help plotxyz 显示有关三维做图指令帮助信息help 显示特殊字符与符号帮助信息help help 显示help 的帮助信息虽然help可以随时提供帮助,但必须知道准确的函数名称。当不能确定函数名称时,help就无能为力了。Lookfor函数 它可提供通过一般的关键词,搜索出一组与之相关的命令 lookfor fourier 寻找含有傅立叶变换的相关指令1.4 Matlab联机帮助命令第13页/共51页 help、lookfor 两个指令构成了matlab语言相当完善的在线帮助查询系统。lookfor fouri 寻找所有包含fouri的指令和注释如 FFT Discrete Fourier transform1.4 Matlab概述第14页/共51页2.Matlab2.Matlab系统模型处理系统模型处理 线性系统理论中常用的数学模型有微分方程线性系统理论中常用的数学模型有微分方程模型、传递函数模型等,而这些模型之间又有某些模型、传递函数模型等,而这些模型之间又有某些内在内在的等效关系。在的等效关系。在MATLABMATLAB中,与传递函数的具体中,与传递函数的具体形式相对应,又形式相对应,又有有tftf对象和对象和zpkzpk对象对象之之分,我们分分,我们分别称为别称为传递函数模型传递函数模型和和零极点模型零极点模型。在本节,就线性定常时不变在本节,就线性定常时不变系统(系统(LTILTI)数学)数学模型分析中用到的模型分析中用到的MATLABMATLAB方法作一简要介绍,方法作一简要介绍,主要主要有有拉氏变换、传递函数的转换、控制系统的特征根拉氏变换、传递函数的转换、控制系统的特征根及零极点图、方框图模型的传递函数、符号模型的及零极点图、方框图模型的传递函数、符号模型的运算运算等。等。第15页/共51页 拉氏变换与反变换 拉氏变换“Laplace”的调用格式如下:L=Laplace(F):是缺省独立变量t的关于符号向量F的拉氏变换,缺省返回关于s的函数。L=Laplace(F,t):是一个关于t代替缺省s项的拉氏变换。L=Laplace(F,w,z):是一个关于z代替缺省s项的拉氏变换。例3 求时域函数f(t)=6cos(3t)+e-3tcos(2t)-5sin(2t)的拉氏变换。syms t y;y=laplace(6*cos(3*t)+exp(-3*t)*cos(2*t)-5*sin(2*t)运行结果:y=6*s/(s2+9)+1/4*(s+3)/(1/4*(s+3)2+1)-10/(s2+4)第16页/共51页拉氏反变换“iLaplace”的调用格式如下:F=iLaplace(L):是缺省独立变量s的关于符号向量L的拉氏 反变换,缺省返回关于t的函数。F=iLaplace(L,y):是一个关于y代替缺省t项的拉氏变换。F=iLaplace(L,y,x):是一个关于x代替缺省t项的拉氏变换。的拉氏反变换。例4 求函数syms s FF=ilaplace(16/(s2+4)+(s+5)/(s+4)2+16)运行结果:F=8*sin(2*t)+exp(-4*t)*cos(4*t)+1/4*exp(-4*t)*sin(4*t)拉氏变换与反变换 第17页/共51页2.2 传递函数 有理分式模型 传递函数的分子和分母均为多项式的形式称为有理分式模型,如下式所示。在MATLAB中,传递函数分子和分母多项式系数用行向量表示。例如多项式P(s)=s3+2s+4,其输入为 P=1 0 2 4传递函数分子或分母为因式时,调用conv()函数来求多项式向量。例如P(s)=5(s+2)(s+3)(10s2+20s+3),其输入为P=5*conv(1 2,conv(1 3,10 20 3)调用函数“tf”可建立传递函数的有理分式模型,其调用格式如下:G=tf(num,den)第18页/共51页例5 已知某一系统的微分方程如下,试求其传递函数。num=1 7 12 20;den=1 6 12 20 36 25;G=tf(num,den)运行结果:Transfer function:s3+7 s2+12 s+20-s5+6 s4+12 s3+20 s2+36 s+252.2 传递函数 第19页/共51页例 6 将传递函数转换为有理分式模型。num=conv(1 4,1 4);den=conv(1 0 0,conv(1 5,1 5 2 6);G=tf(num,den)运行结果:Transfer function:s2+8 s+16-s6+10 s5+27 s4+16 s3+30 s22.2 传递函数 第20页/共51页零极点模型传递函数的分子和分母均为因式的形式称为零极点模型,如下式所示。MATLAB控制工具箱提供了零极点模型与有理分式模型之间的转换函数,调用格式分别为 z,p,k=tf2zp(num,den)num,den=zp2tf(z,p,k)其中,前一个函数可将有理分式模型转换为零极点模型,而后一个函数可将零极点模型转换为有理分式模型。2.2 传递函数 第21页/共51页例7 将传递函数转换为零极点模型。num=6 18 12;den=1 5 2 6;z,p,k=tf2zp(num,den)%得到零极点及其增益 运行结果:z=-2 -1p=-4.8428 k=6即变换后的零极点模型为验证:调用zp2tf()函数,可得到原传递函数模型,如num,den=zp2tf(z,p,k);%由零极点形式转换为传递函数形式G=tf(num,den)%形成传递函数表达式2.2 传递函数 第22页/共51页2.3 控制系统的特征根及零极点图 系统的特征根MATLAB提供了多项式求根函数roots(),其调用格式为r=roots(P),其中,P为多项式。例8 特征方程 r=roots(1 3 0 4)r=-3.3553 ,其根可由下面语句求得第23页/共51页零极点图 传递函数在复平面上的零、极点图,采用pzmap()函数来完成,零点用“”表示,极点用“”表示。其调用格式为p,z=pzmap(num,den)其中,p为传递函数的极点,的零点。z为2.3 控制系统的特征根及零极点图 第24页/共51页例 9 某系统开环传递函数如下,试求其零、极点图。num=10*0.5 1;den=conv(1 0,conv(0.25 1,0.5 1 1);pzmap(num,den)%得到零极点图grid 2.3 控制系统的特征根及零极点图 第25页/共51页2.4 控制系统的方框图模型 串联 两个系统G1(s)和G2(s)相串联,在MATLAB中可用串联函数series()来求合成系统,其调用格式为 num,den=series(num1,den1,num2,den2)并联 两个系统G1(s)和G2(s)相并联,在MATLAB中可用并联函数 parallel()来实现合成系统,其调用格式为 num,den=parallel(num1,den1,num2,den2)第26页/共51页2.4 控制系统的方框图模型 反馈连接前向通路传递函数为G(s),反馈通路传递函数为H(s),在MATLAB中可用feedback()函数来实现反馈连接,其调用格式为 num,den=feedback(numg,deng,numh,denh,sign)反馈 反馈连接前向通路传递函数为G(s),反馈通路传递函数1,在MATLAB中可用cloop()函数来实现反馈连接,其调用格式为 num,den=cloop(num1,den1,sign)第27页/共51页3 Matlab3 Matlab时域响应分析时域响应分析 绘制响应曲线 如果已知闭环传递函数的分子num与分母den,则命令impulse(num,den),impulse(num,den,t)将产生单位脉冲响应曲线。命令step(num,den),step(num,den,t)将产生单位阶跃响应曲线。(t为用户指定时间)Matlab提供了求取线性定常连续系统单位脉冲响应和单位阶跃响应的函数,分别为impulse,step。对单位斜坡响应,可利用单位斜坡函数为单位阶跃函数的积分来间接求取。方法是将待求系统传递函数乘以积分因子1/s,求其单位阶跃响应,即为原系统的单位斜坡响应。利用该方法也可通过单位脉冲响应命令来求取系统的单位阶跃响应。第28页/共51页例 10 用Matlab绘制系统响应曲线、单位脉冲响应曲线。的单位阶跃num=0 0 25;%分子多项式系数den=1 4 25;%分母多项式系数step(num,den);%产生阶跃响应grid;%加网格title(unit-step response of 25/(s2+4s+25);%添加标题dcgain(num,den)%求稳态值将step(num,den)命令改成impulse(num,den)。3.1 绘制响应曲线 第29页/共51页系统输出的拉氏变换为 例 11 求系统的单位斜坡响应曲线。num=0 0 0 25;den=1 4 25 0;step(num,den,3);grid;title(unit-step response of 25/(s2+4s+25)3.1 绘制响应曲线 第30页/共51页 当阶跃命令左端含有变量时,如y,x,t=step(num,den,t)将不会显示响应曲线。阶跃响应的输出数据将保存在y中,t中保存各采样时间点。若希望绘制响应曲线,可采用plot命令。当需要计算阶跃响应性能指标时,可根据各指标的定义,结合y和t中保存的数据,来计算各项性能指标。3.2 阶跃响应性能分析 第31页/共51页 例 12 用Matlab求系统跃响应性能指标:上升时间、峰值时间、调节时间和超调量。的单位阶num=0 0 25;den=1 4 25;y,x,t=step(num,den);peak,k=max(y);%求响应曲线的最大值overshoot=(peak-1)*100%计算超调量tp=t(k)%求峰值时间n=1;%求上升时间while y(n)0.98)&(y(m)simulink(2)使用工具栏按钮启动Simulink。即用鼠标单击MATLAB工具栏中的Simulink按钮。启动Simulink,建立系统模型,其相应的基本操作如下图所示3.5 应用Simulink进行仿真 第36页/共51页3.5 应用Simulink进行仿真 第37页/共51页 当用户完成Simulink系统模型的编辑之后,需要保存系统模型,然后设置模块参数与系统仿真参数,最后便可以进行系统的仿真。在系统模型编辑器中,用户可以“拖动”Simulink提供的大量的内置模块建立系统模型。Simulink的模块库能够对系统模块进行有效的管理与组织,使用Simulink模块库浏览器可以按照类型选择合适的系统模块、获得系统模块的简单描述以及查找系统模块等,并且可以直接将模块库中的模块拖动或者拷贝到用户的系统模型中以构建动态系统模型。3.5 应用Simulink进行仿真 第38页/共51页 例14 控制系统结构图如下图所示,试在Simulink环境下构建系统方框图,并对系统的阶跃响应进行仿真。R(s)-C(s)Simulink是一个可视化动态系统仿真环境。使用Simulink可分析非常复杂的控制系统;而且,可以方便地分析系统参数变化对其性能的影响。3.5 应用Simulink进行仿真 第39页/共51页4 4 用用MATLABMATLAB绘制系统的根轨迹绘制系统的根轨迹 在应用Matlab绘制根轨迹时,首先要将系统的开环传递函数写成如下形式:将分子多项式与分母多项式按s的降幂写成向量形式num和den,则采用以下命令可绘制根轨迹图。rlocus(G)该命令不仅可用于连续系统,还可用于离散系统。另外,还可自动获得根轨迹上各点的增益。命令rlocus(G,K)直接绘制出给定K值时的闭环极点。第40页/共51页例 15 已知系统的开环传递函数为应用Matlab绘制系统根轨迹。num=1 2 2;den=1 4 16 0;rlocus(num,den);v=-5 0-4 4;axis(v);Grid;title(Root Locus Plot of G(s)H(s)=K(s2+2s+2)/s(s2+4s+16)4 用MATLAB绘制系统的根轨迹第41页/共51页例 16 已知系统的开环传递函数应用Matlab绘制系统根轨迹。,a=1 4 0;b=1 2 2;den=conv(a,b);num=1 4 16;G=tf(num,den);rlocus(G);v=-4 0.5-15 15;axis(v);grid;title(Root Locus Plot of G(s)H(s)=K(s2+4s+16)/s(s+4)(s2+2s+2)第42页/共51页 MATLAB控制系统工具箱在频率响应法方面提供了许多函数支持,使用它们可以很方便地绘制控制系统的频率特性图并对系统进行频域分析或设计。常用的 MATLAB函数有:bode(),绘制控制系统的伯德图;nyquist(),绘制控制系统的奈奎斯特曲线;nichols(),绘制控制系统的尼科尔斯图;margin(),计算控制系统的稳定裕量;freqresp(),计算系统在指定频率处的频率响应值;evalfr(),计算LTI系统在单个复频率处的频率响应值。其中bode,nyquist和nichols函数,既适用于单变量系统也适用于多变量(即MIMO)系统,既适用于连续时间系统也适用于离散时间系统。在这一节里将通过具体的例子来说明如何应用bode、nyquist和nichols等函数绘制控制系统的伯德图和奈奎斯特曲线以及尼柯尔斯图。5 Matlab频率特性分析第43页/共51页MATLAB中绘制Bode图的函数是bode(),调用格式为bode(G)bode(G,w)mag,phase,w=bode(G)mag,phase=bode(G,w)Bode(G)可以绘制传递函数为 Bode图时系统的bode图。带左端变量的bode函数运行后,屏幕 上将不显示 bode图,而是在用户指定的频率点向量w上把系统的频率特性表示成幅值和相角,并分别由 mag矩阵和phase矩阵来表示。第44页/共51页 Bode函数具有自动频率选择功能,函数的输入变量部分未给出频率的范围,则该函数能根据系统模型的特性自地选择频率的变化范围。若需要人为地指定频率范围或频率点 w,可以在函数的输入变量部分包含所定义 w。w的定义可以采用logspace函数,其格式为W=logspace(a,b,n)其中,a表示最小频率10a;b表示最大频率10b;n表示10a10b之间的频率点数。例如:num=100*1 2;den=1 21 20 0;G=tf(num,den);bode(num,den);grid;如果指定频率范围:,则MATLAB命令改写为:num=100*1 2;den=1 21 20 0;w=logspace(-1,2,200);G=tf(num,den);bode(G,w);grid;Bode图第45页/共51页 在MATLAB中可采用函数 margin()来求取相对稳定性,调用格式为:Gm,Pm,wcg,wcp=margin(sys)式中,Gm为幅值裕度;Pm为相角裕度;wcg为穿越 线所对应的频率;wcp为幅值为0dB时所对应的频率。num=100*1 2;den=1 21 20 0;G=tf(num,den);margin(G)例如:Bode图第46页/共51页MATLAB中绘制Nyquist图的函数是nyquist(),调用格式为Nyquist(G);Nyquist(G,w);re,im=Nyquist(G);re,im=Nyquist(G,w);Nyquist(G)可以绘制传递函数为时系统的nyquist图。带左端变量的nyquist函数运行后,屏幕上将不显示nyquist图,而是在指定的频率点向量 w 上把系统的频率特性表示成re和im 矩阵,分别对应系统频率特性的实部和虚部。Nyquist图第47页/共51页例如num=1;den=1 1 2;g=tf(num,den);nyquist(g);grid;例如num=2;den=1 2 3 0;g=tf(num,den);nyquist(g);grid;此时可以放大镜工具或轴函数axis()命令进行局部放大,进行稳定性分析。如规定实轴、虚轴范围分别为,-0.5),(-1,1)有:axis(-1.5-0.5-1 1);Nyquist图第48页/共51页MATLAB中绘制Nichols图的函数是Nichols(),调用格式为nichols(G)nichols(G,w)mag,phase,w=nichols(G)mag,phase=nichols(G,w)nichols(G)可以绘制传递函数为时系统的nichols图。当带输出变量引用函数时,可以得到系统nichols图线的数据,而不直接绘出nichols图线。例如:num=2;den=1 2 3 0;g=tf(num,den);nichols(g);ngrid;Nichols 图第49页/共51页BUAA第50页/共51页感谢您的观看!第51页/共51页

    注意事项

    本文(Matlab使用学习教程.pptx)为本站会员(莉***)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开