系统仿真MATLAB的控制语句和绘图功能.ppt

上传人:za****8 文档编号:14507226 上传时间:2020-07-22 格式:PPT 页数:48 大小:383.06KB
收藏 版权申诉 举报 下载
系统仿真MATLAB的控制语句和绘图功能.ppt_第1页
第1页 / 共48页
系统仿真MATLAB的控制语句和绘图功能.ppt_第2页
第2页 / 共48页
系统仿真MATLAB的控制语句和绘图功能.ppt_第3页
第3页 / 共48页
资源描述:

《系统仿真MATLAB的控制语句和绘图功能.ppt》由会员分享,可在线阅读,更多相关《系统仿真MATLAB的控制语句和绘图功能.ppt(48页珍藏版)》请在装配图网上搜索。

1、1,仅靠一条一条地输入语句,MATLAB难以实现复杂功能,为了实现诸如循环、条件、分支等功能,MATLAB利用了M文件,M文件是由一系列的MATLAB语句组成。,2,MATLAB实际上可以认为是一种解释性语言,用户可以在MATLAB工作环境下一条一条地键入命令,也可以直接键入用MATLAB的语言编写的M文件名,或它们结合起来使用。这样MATLAB软件对此命令或M文件中各条命令进行翻译,然后在MATLAB环境下对它进行处理,最后返回运算结果。所以说MATLAB语言的结构可用下式进行描述: MATLAB语言窗口命令M文件,3,MATLAB提供了丰富的库函数,库函数是根据系统编制好了的、提供用户直接

2、使用的函数。MATLAB中常用的基本数学函数如表1-3所示。 除了基本函数外,不同版本的MATLAB还增加了不同的有专门功能的库函数,也称工具箱。例如通讯工具箱、控制系统工具箱和信号处理工具箱等等。 对于各种函数的功能和调用方法可使用MATLAB的联机帮肋help来查询,其使用格式为 help 函数名,1.2.2 MATLAB的库函数,4,表1-3 MATLAB的基本数学函数,5,1.2.3 MATLAB的磁盘文件,由于MATLAB本身可以被认为是一种高效的语言,所以用它可编写出具有特殊意义的磁盘文件来。这些磁盘文件是由一系列的MATLAB语句组成,它既可能是由一系列窗口命令语句构成的文本文件

3、,又可以是由各种控制语句和说明语句构成的函数文件。 由于它们都是由ASCII码构成的, 其扩展名均为“.m”,故统称为M文件。,6,由于M文件具有普通的文本格式,因而可以使用系统认可的文本文件编辑器来建立M文件,如dos下的edit,windows的记事本和word等。而一般常用且最为方便的是使用MATLAB提供的M文件编辑/调试器。,M文件的建立与打开,7,1、建立新的M文件 为建立新的M文件,启动MATLAB的M文件编辑/调试器。 (1)命令按钮操作。单击MATLAB主窗口工具栏上的New M-File(新建)命令按钮,屏幕上将出现 M文件编辑器窗口。 (2)菜单操作。从MATLAB主窗口

4、的File菜单中选择New菜单项,再选择M-file命令,屏幕上将出现M文件编辑器窗口。,8,M文件编辑器,9,2、编写或修改后的M文件的保存 用鼠标左键单击MATLAB 文件编辑器窗口工具栏的“存盘”图标。 (1)若是修改后的M文件,则完成了保存。 (2)若是新编写的M文件,则弹出对话框,输入文件名后,则完成了保存。,10,3、打开已有的M文件 (1)命令按钮操作。单击MATLAB主窗口工具栏上的Open File命令按钮,再从弹出的对话框中选择所需打开的M文件。 (2)菜单操作。从MATLAB主窗口的File菜单中选择Open命令,则屏幕出现Open对话框,在Open对话框中选中所需打开的

5、M文件。 打开的M文件在M文件编辑器窗口内。可以对它进行编辑修改,编辑完成后,将M文件存盘。,11,M文件的语法类似于C语言,但又有其自身特点。它只是一个简单的ASCII码文本文件,执行程序时逐行解释运行程序,MATLAB是解释性的编程语言。 M文件包括文本文件和函数文件。 独立的M文件 称文本文件 可调用M文件 称函数文件,M文件,12,1.文本文件 文本文件由一系列的MATLAB语句组成,与在命令窗口逐行执行文件中的所有指令,其结果是一样的。在MATLAB的提示符下直接键入文本文件名,便可自动执行文件中的一系列命令,直至给出最终结果。 文本文件在工作空间中运算的变量为全局变量。,13,例1

6、-1 求函数 在x= -4时的值。,解 首先打开M文件编辑器,建立以下文本文件ex1_1.m,并保存。 % ex1_1.m % this is an M file for calculaters sqrtx +x3 x1=abs(x); x2=sqrt(x1)+x3; y=x2,14,当文本文件ex1_1.m建立后,在MATLAB命令窗口中输入以下命令: x=-4;ex1_1 结果显示: y= -62 这里执行的中间变量x1,x2都被保存下来,这与函数文件是不同的。,15,2.函数文件 函数文件的功能是建立一个函数,且这个函数可以同MATLAB的库函数一样使用,它与文本文件不同,在一般情况下不

7、能单独键入函数文件的文件名来运行一个函数文件,它必须由其它语句来调用,函数文件允许有多个输入参数和多个输出参数值,其基本格式如下: function f1,f2,f3,=fun(x, y, z,) 注释说明语句 函数体语句 其中:x, y, z,是形式输入参数;而f1,f2,f3,是返回的形式输出参数值;fun是函数名。,16,实际上,函数名一般就是这个函数文件的磁盘文件名,注释语句段的内容同样可用help命令显示出来。 调用一个函数文件只需直接使用与这个函数一致的格式 y1,y2,y3,=fun(a,b,c,) 其中:a,b,c,是相应的实际输入参数,而y1,y2,y3,是相应的实际输出参数

8、值。,17,例1-2 求函数在x1= -2, x2= 3, x3= 1时的值,解 首先建立函数文件ex1_2.m %ex1_2.m function y1,y2=ex1_2(x1,x2,x3) z1=3*x12; z2=x2+x3; y1=z1+z2; y2=z1-z2;,18,当函数文件ex1_2.m建立后,在MATLAB命令窗口中输入以下命令: a1=-2;a2=3;a3=1;b1,b2=ex1_2(a1,a2,a3) 则显示结果为 b1= 16 b2= 8,19,函数文件中定义的变量为局部变量,也就是说它只在函数内有效。即在该函数返回后,这些变量会自动在MATLAB工作空间中清除掉,这与

9、文本文件是不同的,但可通过命令 global 变量 来定义一个全局变量。 函数文件与文本文件另一个区别在于其第一行是由function开头的,且有函数名和输入形式参数与输出形式参数,若是没有这一行的磁盘文件就是文本文件 。,20,1.2.4 输入与输出函数,如果用户想在计算的过程中给计算机输入一个参数,则可以使用input( )函数来进行,该函数的调用格式为 变量名input(提示信息,选项) 这里提示信息可以为一个字符串显示,它用来提示用户输入什么样的数据,input( )函数的返回值赋给等式左边的变量名。,21,例如, 用户想输入A矩阵,则可以采用下面的命令来完成 A=input( Ent

10、er matrix A= ); 执行该命令时首先给出Enter matrix A=提示信息,然后等待用户从键盘按MATLAB格式输入矩阵,并把此值赋给A。 如果在input( )函数调用时采用了s选项,则允许用户输入一个字符串,此时需用单引号将所输字符串括起来。,22,MATLAB提供的命令窗口输出函数主要有disp( )函数,其调用格式为 disp(变量名) 其中,变量名既可以为字符串,也可以为变量矩阵。例如 s=Hello World 结果显示: s= Hello World disp(s) 结果显示: Hello World,23,MATLAB提供了较实用的字符串处理及转换的函数,例如i

11、nt2str( )函数就可以方便在将一个整形数据转换成字符串形式,该函数的调用格式为 cstr=int2str(n) 其中:n为一个整数,而该函数将返回一个相关的字符串cstr。 例如:num的数值为num=15,而在输出中还想给出其它说明性附加信息,则可利用下面的语句 num=15;disp (The value of num is , int2str(num) , !ok) 结果显示: The value of num is 15 !ok,24,与int2str( ) 函数的功能及调用方式相似,MATLAB还提供了num2str( )函数,可以将给出的实型数据转换成字符串的表达式,最终也可

12、以将该字符串输出出来。例如给绘制的图形赋以数字的标题时可采用下面的命令 c=(70-32)/1.8; title(Room temperature is , num2str(c), degrees C) 则会在当前图形上加上题头标注 Room temperature is 21.1111 degrees C,25,1.2.5 数值显示格式,MATLAB可以使用format命令来改变显示格式,其调用格式为 format 控制参数 其中:控制参数决定显示格式,控制参数如表1-5表示。,26,表1-5 format命令的控制参数,27,小结:文本文件和函数文件的区别 (1)文本文件是一串指令的集合,

13、没有输入输出参数;函数文件第一行是由function开头的,且有函数名和输入形式参数与输出形式参数,即函数文件需要输入变量,返回输出变量。 (2)文本文件在MATLAB的提示符下直接键入文本文件名;函数文件在一般情况下不能单独键入函数文件名来运行,它必须由其它语句来调用。 (3)文本文件在工作空间中运算的变量为全局变量;函数文件中定义的变量为局部变量,它只在函数内有效。,28,1.3 MATLAB的控制语句,MATLAB是一个功能极强的高度集成化程序设计语言,它具备一般程序设计语言的基本语句结构,并且它的功能更强,由它编写出来的程序结构简单,可读性强。和其它高级语言一样,MATLAB也提供了条

14、件转移语句、循环语句等一些常用的控制语句,从而使得MATLAB语言的编程显得十分灵活。,29,1.3.1 循环语句,在实际计算中,经常会遇到许多有规律的重复计算,此时就要根据循环条件对某些语句重复执行。MATLAB中可以使用两种循环语句: for语句和while语句,30,for循环语句,for语句的基本格式为: for 循环变量表达式1:表达式3:表达式2 循环语句组 end 其中,循环变量可以取做任何MATLAB变量。首先将循环变量的初值赋成表达式1的值,判断若循环变量的值介于表达式1和表达式2的值之间,则执行循环体中的语句,否则结束循环语句的执行。执行完一次循环体中的语句之后,则会将循环

15、变量自增一个表达式3的值,然后再判断循环变量是否介于表达式1和表达式2之间,如果满足就再执行循环体语句直至不满足为止。这时将结束循环语句的执行,而继续执行后面的语句。 如果表达式3的值为1,则可省略表达式3。,31,例1-3 求 的值。 解 MABLAB程序如下: %ex1_3.m mysum=0; for i=1:100 mysum=mysum+i; end mysum 运行结果显示: mysun= 5050,32,while循环语句将循环体中的语句循环执行不定次数。其基本格式为: while 表达式 循环体语句 end 其中,表达式一般是由逻辑运算和关系运算组成的,以判断循环的进行和停止。

16、若表达式的值非0(逻辑为真),则执行循环体语句;执行后再判断表达式是否仍然成立,若不成立,则跳出循环,向下继续执行。,While 循环语句,33,例:用while循环语句求1100间整数的和。 sum=0; i=1; while i=100 sum=sum+i; i=i+1; end sum 运行结果显示: sum = 5050,34,MATLAB提供的循环语句for和while是允许多级嵌套的,而且它们之间也允许相互嵌套,这和C语言等高级程序设计语言是一致的。,35,1.3.2 程序流控制语句,在程序设计语言中,经常会遇到提前终止循环、跳出子程序、显示执行过程等,此时就要用到以下控制程序流命

17、令。 1. echo命令:显示其后执行的M文件的指令。 一般来说当一个M文件运行时,文件中的命令不在屏幕上显示出来;而利用echo命令可以使M文件在运行时把其中的命令显示在工作空间中,这对于调试、演示等很有用。,36,程序流控制语句,2. break命令: 中断for, while循环语句的执行、强行跳出,在嵌套循环结构中, 当满足某种条件时,break从最里层循环退出。可防止死循环。(跳一层) 3. continue命令:中断for, while循环语句的执行,进行下一次循环判断。(跳一次) 4. pause命令: 暂停,等待用户响应。可令M文件执行暂停,并在按任一键后继续执行。 5. re

18、turn命令:返回调用它的函数处继续运行。,37,1.3.3 条件转移语句,MATLAB提供的条件转移语句是由if引导的,其基本格式分为以下几种: 1、if 条件式 条件块语句组 end 其中, 条件式一般是由逻辑运算和关系运算组成的。当给出的条件式成立时,则执行该条件块结构中的语句内容,执行完之后继续向下执行,若条件不成立,则跳出条件块而直接向下执行。,38,例1-4:求满足 的最小m值。 解:MATLAB程序如下: %ex1_4.m mysum=0; for m=1:1000 mysum=mysum+m; if mysum1000 break; end end m 运行结果显示: m= 4

19、5,39,2、 if 表达式 语句1 else 语句2 end 其中,表达式一般是 由逻辑运算和关系运 算式组成的。,40,3、多分支结构 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else 语句n end,41,例:写赋值程序: for i=1:5 x=input(please input x=); if x=1 y=10 elseif x-1 trigname=input(Input trig functions name:) switch trigname case sin plot(t,sin(t) case cos plot(t,cos(

20、t) otherwise break %终止,跳出switch语句 end,注意, 这里使用了break命令,其作用就是中止并跳出上一级的过程。,44,.4 MATLAB的绘图功能,MATLAB被控制界广泛接受的另一个重要原因是,它提供了十分方便的一系列绘图命令。例如,线性坐标、对数坐标、半对数坐标及极坐标等命令,它还允许用户同时打开若干图形窗口,对图形标注文字说明等,它使得图形绘制和处理等复杂工作变得简单得令人难以置信。,45,1.4.1 二维图形,1基本形式 MATLAB最基本的绘图函数为plot( )。 如果y是一个n 维向量,那么plot(y)绘制一个y元素和y元素排列序号1,2,,

21、n之间关系的线性坐标图。例如 y=0 0.48 0.84 1 0.91 0.6 0.14; plot(y) 则显示如图1-2所示曲线。,46,如果x和y是两个等长向量,那么 plot(x,y) 将绘制一条x和y的之间关系的线性坐标图。例如 x=0:0.1:2*pi; y=sin(x);plot(x,y) 则显示如图1-3所示曲线。,图1-2 图1-3,47,2多重线型,在同一图形中可以绘制多重线型,基本命令格式为 plot(x1,y1,x2,y2,xn,yn) 以上命令可将x1对y1,x2对y2,xn对yn的图形绘制在一个图形中,而且分别采用不同的颜色或线型。例如以下命令可显示如图1-4所示曲线。,48,图1-4,x=0:0.1:2*pi;plot(x,sin(x),x,cos(x),

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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