机电系统仿真技术_第1页
机电系统仿真技术_第2页
机电系统仿真技术_第3页
机电系统仿真技术_第4页
机电系统仿真技术_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机电(jdin)系统仿真技术哈尔滨理工大学机械动力工程学院机电(jdin)系 韩桂华 电话:箱:共一百二十一页课程(kchng)内容简介9-1.Matlab简介,绘制图形,M文件编制9-2.Simulink基础9-3.Simulink子系统创建与封装9-4.基于Matlab控制系统数学(shxu)建模9-5.电液伺服系统仿真9-6.模糊控制基础9-7.系统辨识9-8.实验9-9.总结、作业2机电系统仿真技术共一百二十一页参考书目: 1.MATLAB/Simulink与液压控制系统(kn zh x tn)仿真2. MATLAB/Simulink与控制系统仿真3机电(jd

2、in)系统仿真技术共一百二十一页9-1.内容(nirng)Matlab简介绘制图形M文件(wnjin)编制4机电系统仿真技术共一百二十一页Matlab的学习(xux)方法必须做大量(dling)练习,熟悉其中的函数联系和自己相关的课题,深刻体会多看帮助文件,一本好的参考书会提问题,寻求大家的帮助记住:Matlab可以做很多事情5机电系统仿真技术共一百二十一页学会Matlab将改变(gibin)你的一生网络(wnglu)对你的改变将远远的超过一台独立的计算机共一百二十一页OK, Now begin共一百二十一页第一(dy)讲 MATLAB简介 概述 MATLAB基本(jbn)使用共一百二十一页一

3、、概述(i sh)matlab语言是由美国的Clever Moler博士于1980年开发的设计者的初衷是为解决“线性代数”课程的矩阵运算(yn sun)问题 MATLAB名字是由Matrix和Laboratory两个词的前三个字母组合而成的,矩阵实验室的意思9机电系统仿真技术共一百二十一页它将一个优秀软件(run jin)的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机的相结合MATLAB是一种直译式的高级语言,比其它程序设计语言容易10机电(jdin)系统仿真技术共一百二十一页MATLAB语言与其它语言的关系仿佛(fngf)和C语言与汇编语言的关系一样计算机语言(y

4、yn)的发展数值运算解析运算管理、可视化智能化标志着计算机语言向“智能化”方向发展,被称为第四代编程语言。11机电系统仿真技术共一百二十一页1.1 学习(xux)Matlab的基本原因不希望学生在编程上化太多时间,课程目的不是学习编程社会化的运行带来的好处:合理利用可以节约(jiyu)大量的时间为什么相同的时间别人比自己做出了更多的事情:硕士论文调查结果面向对象的思想带来巨大的好处紧密结合科学的前沿From BBS:博士论文=Matlab+word 12机电系统仿真技术共一百二十一页1.2 Matlab的版本(bnbn)演化Matlab 1.0Pc matlab-matlab 386Matla

5、b3.5+simulinkMatlab 4.0:simlink内嵌:1993年Matlab 5.0 :全面(qunmin)的面向对象:1995年Matlab 5.15.3:1997年Matlab 6.0:2000.10Matlab 6.5:购并了MATRIXx:2002.8Matlab 7.0:2004年13机电系统仿真技术共一百二十一页1.3 MATLAB特点(tdin)高度适应性、开放性:MATLAB的工具箱可以任意增减,任何人可以自己生成MATLAB工具箱可扩充性: MATLAB的函数大多为ASCII文件,可以直接编辑、修改基于矩阵运算(yn sun)的工作平台。多版本:windows/

6、unix/dos/Macintosh极多的工具箱。14机电系统仿真技术共一百二十一页1.4 Matlab能做什么(shn me)工业研究(ynji)与开发数值分析和科学计算方面的教学与研究数学教学,特别是线性代数电子学、控制理论和物理学等工程和科学学科方面的教学与研究经济学、化学和生物学等计算问题的所有其他领域中的教学与研究15机电系统仿真技术共一百二十一页例1.4.1 用一个简单(jindn)命令求解线性系统 3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4A=3 1 -1;1 2 4;-1 4 5;b=3.6;2.1;-1.4;x

7、=Abx = 1.4818 -0.4606 0.3848对于(duy)线性系统有Ax=b16机电系统仿真技术共一百二十一页例1.4.2 用简短命令计算(j sun)并绘制在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)17机电(jdin)系统仿真技术共一百二十一页例1.4.3 用四种方法描述(mio sh)cos(x)*sin(y)图形MATLAB语言(yyn)的功能:18机电系统仿真技术共一百二十一页1.5 MATLAB语言(yyn)的

8、功能:强大的数值(矩阵)运算功能广泛的符号运算功能高级(goj)与低级兼备的图形功能(计算结果的可视化功能)可靠的容错功能应用灵活的兼容与接口功能信息量丰富的联机检索功能19机电系统仿真技术共一百二十一页1.5.1矩阵运算(yn sun)功能MATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。变量(binling) 矩阵,运算 矩阵的运算例如 C = A + B ,A,B,C都是矩阵,是矩阵的加运算即使一个常数,Y=5,MATLAB也看做是一个11的矩阵20机电系统仿真技术共一百二十一页1.5.2符号运算功能符号运算即用字符串进行数学分析允许变量不赋值而参与运算用于解代数方程、

9、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰乐级数展开(zhn ki)、寻优等等,可求得解析符号解21机电(jdin)系统仿真技术共一百二十一页1.5.3丰富的绘图(hu t)功能与计算结果的可视化具有(jyu)高层绘图功能两维、三维绘图具有底层绘图功能句柄绘图使用plot函数可随时将计算结果可视化22机电系统仿真技术共一百二十一页1.5.4图形化程序编制功能(gngnng)动态系统进行建模、仿真(fn zhn)和分析的软件包用结构图编程,而不用程序编程只需拖几个方块、连几条线,即可实现编程功能23机电系统仿真技术共一百二十一页1.5.5丰富(fngf)的MATLAB工具箱MATL

10、AB主工具箱符号数学工具箱SIMULINK仿真工具箱控制系统工具箱信号处理工具箱图象处理工具箱通讯工具箱系统辨识(bin sh)工具箱神经元网络工具箱金融工具箱24机电系统仿真技术共一百二十一页Matlab产品(chnpn)家族Matlab扩展支持在matlab中对系统的实施(shsh)和开发。工具箱:专用的函数库,解决特定领域的问题。Simulink非线性系统仿真Blockset是专门为simulink建立的模块。25机电系统仿真技术共一百二十一页Matlab是所有(suyu)系统工具的基础26机电(jdin)系统仿真技术共一百二十一页1.5.6MATLAB的兼容(jin rn)功能可与C语

11、言、FORTURE语言跨平台兼容27机电(jdin)系统仿真技术共一百二十一页1.6 网络资源 网络(wnglu)上的工具箱/ /matlabcentral/fileexchange/loadCategory.do28机电(jdin)系统仿真技术共一百二十一页二 MATLAB使用(shyng)基础1、MATLAB 6.5 操作入门2、命令行基础3、MATLAB的变量及管理(gunl)4、MATLAB的函数29机电系统仿真技术共一百二十一页将源光盘插入光驱;在光盘的根目录下找到Matlab的安装文件setup.exe及安装密码;双击该安装文件后, 按提示逐步安装;安装完成后,在程序栏里便有了Ma

12、tlab选项,桌面上出现Matlab的快捷方式;双击桌面上Matlab的快捷方式或程序里Matlab选项即可启动Matlab。1、Matlab的安装与启动(Windows操作平台)(一)MATLAB 6.5 操作入门30机电(jdin)系统仿真技术共一百二十一页31机电(jdin)系统仿真技术共一百二十一页2、Matlab 6.5 环境菜单栏-单击即可打开相应的菜单;工具栏-使用它们能使操作更快捷;Command Window(命令窗口)-用来输入和显示计算结果,其中符号“”表示等待用户输入;Launch Pad(分类帮助窗口);Workspace(工作区窗口)-存储着命令窗口输入的命令和所有

13、变量值;Command History(历史纪录窗口)-记录着每次时间及运行过的所有命令行;Current Directory(当前目录选择窗口)。32机电(jdin)系统仿真技术共一百二十一页命令窗口菜单栏工具栏分类帮助窗口历史纪录窗口33机电(jdin)系统仿真技术共一百二十一页3、Mat lab的帮助系统(1)帮助命令help;(2)帮助窗口。进入帮助窗口的步骤如下Launch Pad(分类帮助窗口)选中“Help”打开34机电(jdin)系统仿真技术共一百二十一页35机电(jdin)系统仿真技术共一百二十一页(二)命令行基础1、简单的运算步骤如下:(1)用键盘在命令窗口输入以下内容:

14、(12+2*(7-4)/(32)(2)按Enter键,该指令就被执行。(3)命令窗口显示所得结果:ans = 2 36机电(jdin)系统仿真技术共一百二十一页2、Matlab表达式的输入Mat lab语句由表达式和变量组成,有两种常见的形式:(1)表达式 ;(2)变量=表达式(1)输入:(2)按 Enter 键。(3)显示: y=(12+2*(7-4)/(32)y = 237机电(jdin)系统仿真技术共一百二十一页(1)输入:(2)按 Enter 键。(3)显示: x=3 y=x3-x(1/4)+2.15*sin(x)y = 25.987338机电(jdin)系统仿真技术共一百二十一页3、

15、指令的续行输入若一个表达式在一行写不下,可换行,但必须在行尾加上四个英文句号。(1)输入:(2)按 Enter 键。(3)显示: s=1-1/2+1/3-1/4+1/5-1/6.+1/7-1/8s = 0.634539机电(jdin)系统仿真技术共一百二十一页例如(lr):sin(1/9*pi)+sin(2/9*pi)+sin(3/9*pi)+sin(4/9*pi)+sin(5/9*pi)+sin(6/9*pi)+sin(7/9*pi)+sin(8/9*pi)+sin(9/9*pi)+ans=5.6713 40机电(jdin)系统仿真技术共一百二十一页4、用可用于调出前一个命令行输入: y1=

16、2*sin(0.3*pi)/(1+sqrt(5)y1 = 0.5000 41机电(jdin)系统仿真技术共一百二十一页注意(zh y):(1)当命令行有错误,Matlab会用红色字体提示;(2)同一行中若有多个表达式,则必须用分号或逗号隔开,若表达式后面是分号,将不显示结果。(3) 输入为:42机电(jdin)系统仿真技术共一百二十一页43机电(jdin)系统仿真技术共一百二十一页(三)Mat lab的变量及管理1、变量名的命名规则(1)以字母开头,后面可跟字母、数字和下短线;(2)大小写字母有区别;(3)不超过31个字符。Example:fun, Zheng1244机电(jdin)系统仿真技

17、术共一百二十一页MATLAB变量(binling)的命名all variables are stored in 32bit floating point formatno distinction between real and integera = 3;a = 3.0;same assignment for “a”Matlab is case sensitiveA=3;a=2;Aa45机电(jdin)系统仿真技术共一百二十一页MATLAB变量(binling)的命名can use numbers and underscore in variable namescase34=6.45;name

18、s must start with a lettercase_34=6.45;OK34case=23.45;results in a syntax errorstring (text) variables enclosed in single quotes.The variable is stored as array of characterstitle=This is the title;46机电(jdin)系统仿真技术共一百二十一页to clear a variable from memorya=4clear aif a variable is defined,typing the va

19、riable name returns its valuea=45.57;a = 45.57Matlab returns the valueaMATLAB变量(binling)的命名47机电(jdin)系统仿真技术共一百二十一页Matlab will “echo” commands unless a semi-colon is useda=23.2;a=23.2a = 23.2Matlab echoes the commandMATLAB变量(binling)的命名48机电(jdin)系统仿真技术共一百二十一页Vectorscolumn vectorsrow vectorsa=1;2;3;aa

20、 = 1 2 3a=1,2,3;aa = 1 2 3use semi-colon to separate rowsuse comma to separate columnsMATLAB变量(binling)的命名49机电(jdin)系统仿真技术共一百二十一页Matrices2-dimensional matricesa=1,2,3;4,5,6;aa = 1 2 3 4 5 6again, separate columns with commas and rows with semi-colonsMATLAB变量(binling)的命名50机电(jdin)系统仿真技术共一百二十一页2、Matla

21、b的预定(ydng)义变量ans用于结果的缺省变量名pi圆周率eps计算机的最小数=inf无穷大NaN不定值i 或 j-1的开方=realmin最小可用正实数=realmax最大可用正实数=51机电(jdin)系统仿真技术共一百二十一页3、Mat lab的变量管理(1)who-查询Mat lab内存变量; whos-查询全部变量详细情况。(2)clear-清除内存中的全部变量。(3)save sa X -将X 变量保存到sa.mat文件。(4)load sa X -调用sa.mat文件中变量X 。注意:save只对数据和变量保存,不能保存命令。52机电(jdin)系统仿真技术共一百二十一页53

22、机电(jdin)系统仿真技术共一百二十一页54机电(jdin)系统仿真技术共一百二十一页(四)Matlab的函数(hnsh)函数名解释Matlab函数命令幂函数xasqrt(x)=x(1/2)指数函数axexp(x)对数函数log(x)log2(x)log10(x)55机电(jdin)系统仿真技术共一百二十一页函数名解释Matlab函数命令三角函数sin(x)cos(x)tan(x)cot(x)sec(x)csc(x)56机电(jdin)系统仿真技术共一百二十一页函数名解释Matlab函数命令反三角函数asin(x)acos(x)atan(x)acot(x)asec(x)acsc(x)绝对值函

23、数abs(x)57机电(jdin)系统仿真技术共一百二十一页(五)Mat lab 数组与矩阵(j zhn)-数组一、数组的构造1) 直接(zhji)法:用空格或逗号间隔数组元素,然后用中括号括( )起来。 例5-1: x=0 2 4 6或 x=0 ,2,4 ,6 2)增量法(冒号法):利用冒号运算符“:”可生成1n 的矩阵。格式:x=first:step:last %初值:增量:终值例5-2:x=10:15 x=1:6.3 x=10:5:30 x=9:-1:1 (不能表示为x=9:1 )默认时,创建增量为1的序列。3)linspace函数法 格式:x=linspace(first,last,n

24、um) %初值:终值:元素个数需指定首尾值和元素个数,步长h=(last-first)/(num-1) 例5-3:x=linspace(0:10:5)58机电系统仿真技术共一百二十一页(五)Mat lab 数组与矩阵(j zhn) -数组二、数组的运算注:点运算只有点乘、点乘方、点除三个,表示对应元素(yun s)之间的运算;(.*)是一个整体,点( .)不能漏掉,( .)和(*)之间也不能有空格。例5-4:已知a=1 2 3,b=2 4 6,c=3;分析下列执行结果:a=1 2 3; b=2 4 6; c=3;a+b=3 6 9a-b =-1 -2 -3 a+c=4 5 6 a*c=3 6

25、9 a.*b=2 8 16 a.b=12 24 36 a.b =2 2 2 a./b =0.5 0.5 0.5 a.c=13 23 33 c.a=31 32 3359机电系统仿真技术共一百二十一页(五)Mat lab 数组与矩阵(j zhn)-矩阵一、矩阵的创建a在命令窗口中创建 b通过函数创建例5-5: 例5-6:x=1 2 3;4 5 6;7 8 9 x=0:pi/4:2*pi; y=sin(x)x= 1 2 3 4 5 6 7 8 9c通过数据文件创建,在命令窗口或程序中调入。例如使用产生数据,保存为c:bdat.xls,在Matlab的Files菜单选Import Data,找到文件c

26、:bdat.xls,打开,就将表格中数据作为二维数组赋予(fy)变量bdat。d通过M文件创建,在命令窗口或程序中执行中。60机电系统仿真技术共一百二十一页(五)Mat lab 数组与矩阵(j zhn)-矩阵e特殊矩阵的生成全零阵 zeros (m,n) 全1阵 ones(m,n) 单位阵: eye(n) 对角(du jio)矩阵:diag(a,n) 魔方矩阵:magic(n)f获取矩阵的元素 A(row,column)例3-6:H=magic(5)H(3,2) 6 H(3,2)=0 H(:,3:5) %表示取H的第3到第五列组成的矩阵V=1 3 5 B=H(V,4) %表示取H的第4列的第1

27、,3,5个元素组成的矩阵c=H(V,:) %表示取H的第1,3,5行组成的矩阵61机电系统仿真技术共一百二十一页(五)Mat lab 数组与矩阵(j zhn)-矩阵g获取矩阵(j zhn)的信息 length(列数) size (行和列数) ndims(维数) numel(元素个数)例3-7: a=1 2 3;2 6 9length(a) 3 size(a) 2 3 ndims(a) 2 numel(a) 6 b=1 2 3 6 9length(b) 5 size(b) 1 5 ndims(b) 2 numel(b) 562机电系统仿真技术共一百二十一页(五)Mat lab 数组与矩阵(j z

28、hn)-矩阵二、矩阵的运算 例3-8:已知A=1 2;3 4,B=4 3;2 1,c=3;分析(fnx)下列执行结果:100+A ans = 101 102 103 104A*Bans = 8 5 20 13A.*Bans = 4 6 6 4 ABans = -6.0000 -5.00005.0000 4.0000 B/Aans = -3.5000 2.5000 -2.5000 1.5000 A.Bans = 4.0000 1.5000 0.6667 0.2500 B./Aans = 4.0000 1.50000.6667 0.250063机电系统仿真技术共一百二十一页(六)Mat lab基本

29、(jbn)运算符数学表达式Mat lab运算符Mat lab表达式加a+b+a+b减a-b-a-b乘*a*b除/ 或 a/b 或 ab幂ab1、算术(sunsh)运算符64机电系统仿真技术共一百二十一页MATLAB 运算(yn sun)Basic operationsaddition +subtraction -multiplication *division right division / left division a=3;b=4;c1=a/b;c2=ab;?c1=0.75c2=1.3333.so, be careful!65机电(jdin)系统仿真技术共一百二十一页Mixed Real

30、 and Complex valued Variablesif both variables are real-valued, a real-valued result is obtainedif one variable is complex-valued, Matlab recasts the real variable as complex and then performs the operation. The result is complex-valued however, the type casting is done internally, the real-valued v

31、ariable remains real after the operationMATLAB 运算(yn sun)66机电(jdin)系统仿真技术共一百二十一页MATLAB 运算(yn sun)Other (Scalar) OperationsMath representationMatlab interpretationz=yx;y=exp(x);y=log(x);y=log10(x)y=sin(x);y=cos(x);y=tan(x);y=asin(x);y=acos(x);y=atan(x);67机电(jdin)系统仿真技术共一百二十一页MATLAB 运算(yn sun)Examples

32、y=x0.5;y=x(1/2);y=sqrt(x);All variables in the preceding operations can be real or complex, negative or positivefor x D=A+B;D=A-B;D=A*C;D=C*A;D=A+C;D=A*B;D=B*A;Matrix multiplication not commutative69机电(jdin)系统仿真技术共一百二十一页MATLAB 运算(yn sun)Left() and Right(/) Matrix “division”Math representationMatlab

33、interpretationC=AB;C=B/A;Remember, A must be square and full rank (linearly independent rows/columns)70机电(jdin)系统仿真技术共一百二十一页MATLAB 运算(yn sun)Matrix TransposeMath representationMatlab interpretationC=A;For complex-valued matrices, complex conjugate transposeB=A;b=a;71机电(jdin)系统仿真技术共一百二十一页2、关系(gun x)运

34、算符数学关系Mat lab运算符小于小于或等于大于或等于=等于= =不等于 =72机电(jdin)系统仿真技术共一百二十一页3、逻辑(lu j)运算符逻辑关系Mat lab运算符与(同时)&或(或者)|非(否定)73机电(jdin)系统仿真技术共一百二十一页作业题74机电(jdin)系统仿真技术共一百二十一页第三(d sn)讲 MATLAB 编程M文件(wnjin) 简单编程共一百二十一页(二)M 文件1、M文件的建立 M文件,就是用Mat lab语言编写的,可在Matlab里运行的程序。M文件有两大类:命令文件和函数文件。单击“File”选择“New”单击“M-file”输入内容保存76机电

35、(jdin)系统仿真技术共一百二十一页2、M命令(mng lng)文件(脚本文件) M命令文件,只是一些命令行的组合,而且其中的所有变量也成为(chngwi)工作区的一部分。(1)打开M文件,输入:x=2.15;y=3.67;z=6.71;sum=x+y+zfun=(x+y+z)/377机电系统仿真技术共一百二十一页78机电(jdin)系统仿真技术共一百二十一页(2)以名ed.m保存,(注意(zh y):在保存名处只需输入ed);M文件窗口即可关闭。(3)在Mat lab命令窗口输入M文件名:ed ,即可出现(chxin)M文件上结果。79机电系统仿真技术共一百二十一页80机电(jdin)系统

36、仿真技术共一百二十一页3、M函数文件它就像库函数一样方便的调用。(1)格式function 输出变量=函数名(输入变量)函数体语句(2)注意:(a)输出变量多于一个时,要用方括号;(b)输入、输出变量多于一个时,要用逗号隔开;(c)必须以函数名存盘。81机电(jdin)系统仿真技术共一百二十一页(1)打开(d ki)M文件,输入:function y=zheng(x)y=x2+3.2*x-1.7(2)输入zheng并保存(bocn)这个M文件。(3)在Mat lab命令窗口输入:zheng(1.1),就有其值;输入:zheng(1.3),就可求出对应的值;依次可求得所有值。82机电系统仿真技术

37、共一百二十一页83机电(jdin)系统仿真技术共一百二十一页84机电(jdin)系统仿真技术共一百二十一页七、简单(jindn)编程1、条件(tiojin)语句 它的执行原理与C语言中条件语句的执行原理完全一样。(1)if 语句体 end(2)if 语句体1 else 语句体2 end85机电系统仿真技术共一百二十一页(2)if 语句体1 elseif 语句体2 else 语句体3 end86机电(jdin)系统仿真技术共一百二十一页(1)打开(d ki)M文件,输入:function y=xy(x)if x=0 y=0elseif x=1 y=1elseif x=2 y=2*xelse y=

38、2*x+5end87机电(jdin)系统仿真技术共一百二十一页88机电(jdin)系统仿真技术共一百二十一页(2)输入xy并保存这个(zh ge)M文件。(3)在Mat lab命令窗口(chungku)输入:xy(-1),就有其值;输入:xy(0.7),就可求出对应的值;依次可求得所有值。89机电系统仿真技术共一百二十一页90机电(jdin)系统仿真技术共一百二十一页2、循环(xnhun)语句(1)for 循环变量(binling)=初值:增量:终值 循环体 end(2) while 循环体 end91机电系统仿真技术共一百二十一页(1)打开M文件(wnjin),输入:s=0for n=1:1

39、00 s=s+1/n2end(2)输入sg并保存(bocn)这个M文件。(3)在Mat lab命令窗口输入:sg ,就有其值。92机电系统仿真技术共一百二十一页93机电(jdin)系统仿真技术共一百二十一页94机电(jdin)系统仿真技术共一百二十一页第二(d r)讲 MATLAB绘图 二维数据(shj)曲线图 二维统计分析图共一百二十一页MatLab图形绘制(huzh)功能基本绘图(hu t)函数命 令含 义plot使用线性坐标空间绘制图形loglogx、y轴都取对数标度建立图形semilogxx轴用于对数标度,y轴线性标度绘制图形semilogyy轴用于对数标度,x轴线性标度绘制图形tit

40、le在所画图形的最上端显示说明该图形标题的字符串xlabel给x轴加标记ylabel给y轴加标记text在图形指定的坐标位置(x,y)上加文本字符串gtext在鼠标的位置上加文本字符串grid打开网格线96机电系统仿真技术共一百二十一页程序(chngx)如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)例3-1:在0 x2p区间(q jin)内,绘制曲线 3.1.1、绘制单根二维曲线绘图命令Plot(x,y) ,绘制y对应x的轨迹命令97机电系统仿真技术共一百二十一页例3-2:绘制(huzh)曲线 t0,2程序(chngx)如下:

41、t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);98机电系统仿真技术共一百二十一页在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条(y tio)连续曲线,这实际上是绘制折线图。x=2 3 1 2 5plot(x)相当于x=1:5y=2 3 1 2 5plot(x,y) 例3-3:plot函数最简单(jindn)的调用格式只包含一个输入参数:plot(x)99机电系统仿真技术共一百二十一页1.plot函数的输入参数是矩阵(j zhn)形式 (1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根

42、不同颜色的曲线。曲线条数等于(dngy)y矩阵的另一维数,x被作为这些曲线共同的横坐标。 x=3 1 8 ; y=magic(3); z=x;y plot(x,z)3.1.2、绘制多根二维曲线y = 8 1 6 3 5 7 4 9 2100机电系统仿真技术共一百二十一页x=magic(3)y=1 2 3;4 5 6;7 8 9plot(x,y)(2) 当x,y是同维矩阵时,则以x,y对应(duyng)列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。101机电(jdin)系统仿真技术共一百二十一页2含多个输入参数(cnsh)的plot函数 调用格式为:plot(x1,y1,x2,y2,x

43、n,yn)(1)当输入参数都为向量时,x1和y1,x2和y2,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制(huzh)出一条曲线,这样可以在同一坐标内绘制(huzh)出多条曲线。(2) 当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。如:在同一坐标轴内绘制三条曲线Plot(t,x1 x2 x3)Plot(t1,x1,t2,x2,t3,x3)表示x1对应t1, x2对应t2等等。这种情况下t1,t2和t3, 可以有不同的元素数量,但要求x1,x2, x3必须分别与t1,t2,t3具有相同的元素数量。102机电系统仿

44、真技术共一百二十一页x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=x1;x2;x3;y=y1;y2;y3;plot(x,y,x1,y1-1)当x,y是同维矩阵时,则以x,y对应列元素(yun s)为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。例3-4:分析下列程序绘制(huzh)的曲线。103机电系统仿真技术共一百二十一页在Matlab中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用(shyng)plotyy

45、绘图函数。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。3具有(jyu)两个纵坐标标度的图形104机电系统仿真技术共一百二十一页x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);例3-5:用不同标度在同一(tngy)坐标内绘制曲线和 。程序如下:105机电(jdin)系统仿真技术共一百二十一页hold on/o

46、ff命令控制是保持原有图形还是(hi shi)刷新原有图形,不带参数的hold命令在两种状态之间进行切换。4图形(txng)保持106机电系统仿真技术共一百二十一页例3-5:采用图形保持,在同一坐标内绘制曲线(qxin) 和 程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)hold onpausey2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off107机电(jdin)系统仿真技术共一百二十一页.点y黄。小圆圈m棕色xx标记c青色+加号r红色-实线g绿色*星号b蓝色:虚线w白

47、色-.点划线h黑色3.1.3 设置曲线样式1、线条(xintio)和颜色控制符108机电(jdin)系统仿真技术共一百二十一页MATLAB基本绘图 (图像(t xin)标注)例3-6t=0: 0.01*pi:2*pi; plot(t,sin(t);title(0到2的正弦曲线,FontSize,16); ylabel(sin(t),FontSize,14);xlabel(t=0到2,FontSize,14);text(pi,sin(pi),bulletleftarrowsin(t)=0,FontSize,10); gtext(bullet最小值sin(t)=-1);109机电(jdin)系统仿

48、真技术共一百二十一页MATLAB基本绘图(hu t) (多图重叠)有的时候我们需要将多个曲线画在同一幅图上便于比较。这时我们可以使用hold on 和hold off函数来完成。比如(br):plot(x,y);hold on ;plot(a,b);hold off; 就将曲线x-y和a-b画在同一坐标下了。 110机电系统仿真技术共一百二十一页画椭圆(tuyun)a = 0:pi/50:2*pi; X = cos(a)*3; %参数方程(fngchng)Y = sin(a)*2;plot(X,Y);xlabel(x), ylabel(y);title(椭圆) Text(0,0,tuoyuan)xlabel(x axis)ylabel(y axis)legend(tuoyuan)polar(theta,rho);111机电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论