资源描述
MATLAB教程,MATLAB教程,单击此处编辑母,版,标题样式,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,单击此处编辑母,版,文本样式,第二层,第三层,第四层,第五层,*,MATLAB教程,MATLAB教程,单击此处编辑母版标题样式,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,单击此处编辑母版文本样式,*,*,*,一,MATLAB,开发环境,简介,*,*,*,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,MATLAB教程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,一,MATLAB,开发环境,简介,一,MATLAB,开发环境简介,MATLAB,的特点,MATLAB,运行环境,MATLAB,安装,MATLAB,启动,MATLAB,窗口,帮助系统,MATLAB,基本操作,数值、变量和表达式,指令窗常用指令,内存变量的操作,1,1,.1,MATLAB,特点,:,MATLAB,语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自,1984,年由美国,MathWorks,公司推向市场以来,历经十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。,MATLAB,功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。,在欧美各高等院校,,MATLAB,已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。,MATLAB:,是英文,Matrix Laboratory,的缩写。,2,1,)数值计算和符号计算功能,MATLAB,的数值计算功能包括:矩阵运算、多项式和有理分式运算、数据统计分析、数值积分、优化处理等。符号计算将得到问题的,解析,解。,2,),MATLAB,语言,MATLAB,除了命令行的交互式操作以外,还可以程序方式工作。使用,MATLAB,可以很容易地实现,C,或,FORTRAN,语言的几乎全部功能,包括,Windows,图形用户界面的设计。,3,)图形功能,MATLAB,提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。利用,MATLAB,的高级图形命令可以轻而易举地绘制二维、三维乃至四维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精细控制等等。,3,4,)应用工具箱,分为基本工具箱、通用工具箱、专业工具箱。,基本工具箱,中有数百个内部函数,是最核心的部分。没有它就没有,MATLAB,环境。,通用工具箱,主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。,专业工具箱,专业性比较强,如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用户可以直接利用这些工具箱进行相关领域的科学研究,4,1,.2 MATLAB,运行环境:,MATLAB,只有在适当的外部环境中才能正常运行。在,PC,机上安装,MATLAB,时需要注意正确选取,MATLAB,组件。,1.2.1 MATLAB,的安装,在安装界面上的第,4,栏“,4.Select products and/or documentation,”,是对,MATLAB,组件的选择,其中,必须选取的组件,:,MATLAB,(,核心组件,基本工具箱),常用通用工具箱,:,Symbolic Math,(,符号计算工具箱),其他通用工具箱,:,Simulink,(,仿真工具箱)、,Optimization,(,优化工具箱)、,Matlab,Compiler,、,Matlab,C/C+Math Library,、,Matlab,C/C+Graphic Library,(,用于编译,Matlab,程序),常用专业工具箱,:,Control System,(,控制工具箱)、,Signal Processing,(,信号处理工具箱)、,Image Processing,(,图像处理工具箱)等等。,5,MATLAB,组件的选择窗口,6,注意:,1),安装完成后,会提示运行,rtwintgt,setup,,,安装实时,Windows,对象核心。,2)MATLAB,可以和,WORD,无缝连接,具体做法是通过运行,notebook setup,指令。安装,notebook,后,,WORD,中增加文件模板,m-book,。,使用者可以在,WORD,文档中嵌入可执行的,MATLAB,命令行。,3)MATLAB,编译器使得,MATLAB,的运行速度加快,并且可以和,C/C+,程序兼容。安装时需要,C/C+,编译器的支持。安装命令有,mex,setup,和,mbuild,setup,,,并且需要考虑一些库函数的连接问题。,7,1.2.2 MATLAB,启动,1),点击桌面快捷方式启动。,2),运行,MATLAB,安装目录的快捷启动图标。,两个快捷方式均指向位于,MATLAB,安装目录下的,binwin32,文件夹中的执行程序,matlab.exe,。,启动后的,MATLAB,操作界面默认情况下有,3,个上层窗口。,指令窗口,工作空间浏览器窗口,历史指令窗口,通过在指令窗口输入,rtwintgt,setup,,,回车,可以完成执行该命令,8,MATLAB,窗口图解,一,MATLAB,开发环境,简介,历史指令窗口,工作空间浏览器,指令窗口,当前目录浏览器,(后台),开始按钮,切换按钮,当前工作目录设定,9,MATLAB,常用窗口简介:,指令窗口(,Command Window,),历史指令窗口(,Command History,),工作空间浏览器(,Workspace Browser,),当前目录浏览器(,Current Directory Browser,),内存数组编辑器(,Array Editor,),M,文件编辑,/,调试器(,Editor/Debugger,),交互界面分类目录窗口(,Lauch,Pad,),帮助导航,/,浏览器(,Help Navigator/Browser,),开始按钮(,Start,),1.2.3 MATLAB,窗口,10,1.,指令窗口(,Command Window,),最基本的窗口。缺省情况下,该窗口位于,MATLAB,桌面的右侧。该窗口是运行各种,MATLAB,指令的最主要窗口。在该窗口内,可以键入各种,MATLAB,指令、函数、表达式,并显示除图形外的运算结果。,指令窗口可以独立显示,如右图所示。通过,切换按钮,或下拉菜单,View:Dock Command Window,进行独立窗口和嵌入窗口的切换。,在指令窗口运行过的指令可以用,键再次调出运行。,“,”,为指令行提示符,提示其后语句为输入指令。“,ans,”,为,answer,的英文缩写。,11,2.,历史指令窗口,(Command History),历史指令窗口位于,MATLAB,操作桌面的左下侧。历史指令窗口记录用户在,MATLAB,指令窗口输入过的所有指令行。,历史指令窗可以用于,单行或多行指令的复制和运行、生成,M,文件,等。使用方法:选中单行,(,鼠标左键,),或多行指令,(Ctrl,或,Shift+,鼠标左键,),,鼠标右键激活菜单项,菜单项中包含有复制,(Copy),、,运行,(Evaluate Selection),、,和生成,M,文件,(Create M File),命令,以及删除等指令。,历史指令窗口也可以切换成独立窗口和嵌入窗口,切换方法和指令窗口相同。,12,实录指令,diary,diary,指令能产生“日志”。,MATLAB,会把,diary,指令后的所有指令、计算结果、提示信息等保存为,ASCII,文件。文件存放在当前工作目录下,可以用文本编辑器打开。,例如:运行指令,diary,MyDiary.txt,。,此后,指令窗口中的所有操作内容都记录在内存中。当运行,diary off,指令后,所有操作均记录在当前工作目录下名为,MyDiary.txt,的文件中。,diary,与历史指令,窗口的区别:,历史指令窗口只保存在指令窗口中运行过的指令行,以及日期信息。,diary,指令则保存所有出现在指令窗口中的信息,包括指令行、计算结果、出错信息、帮助信息等等。,13,3.,工作空间浏览器(,Workspace Browser,),缺省情况下,,当前目录浏览器,位于,MATLAB,桌面的左上方的前台。在工作空间浏览器中可以,查阅、保存、编辑内存变量或删除内存变量,。,选中变量,单击右键打开菜单项。菜单中的,open,命令可以在数组编辑器,(Array Editor),中打开变量。,graph,命令可以选择适当绘图指令使变量可视化显示。,14,4.,当前目录浏览器(,Current Directory Browser,),缺省情况下,,当前目录浏览器,位于,MATLAB,桌面的左上方的后台。点击标签,(Current Directory),即可在前台看到当前目录浏览器。同样,当前目录浏览器,也可以独立存在,见下图,切换方法同上。选中文件,,鼠标右键激活菜单项,可以完成打开或运行,M,文件、装载数据文件,(MAT,文件,),等操作,。,15,用户目录和当前目录的设置,MATLAB,默认当前工作目录为,matlab6p5work,目录。一般来说,我们将这个目录用作临时工作目录。用户最好创建自己的用户目录,(,例如创建文件夹,c:MyDir,),来存放自己创建的程序文件。,建立自己的用户目录后,需要修改当前工作目录为用户目录,那么,,MATLAB,将会把所有相关的数据和文件都存放在同一目录下,方便用户管理。,修改当前工作目录的方法,:,1),利用,MATLAB,桌面上的,当前工作目录设定区,进行修改。,2),利用指令设置。,cd,c:MyDir,指令设置,c:MyDir,为当前工作目录。,当前工作目录设置,只在当前,MATLAB,环境下有效,,重新启动,MATLAB,,,系统,自动恢复默认当前工作目录,matlab6p5work,目录,需要再次进行设置。,16,MATLAB,搜索路径,MATLAB,工作时根据,MATLAB,搜索路径,依次从各目录上搜索所需调用的文件、函数、数据。当用户有多个目录需要同时与,MATLAB,交换信息时,,必须将这些目录添加到,MATLAB,搜索路径上,使得这些目录中的文件可以被调用。其中用来存放运行中的文件和数据的目录必须设置成当前工作目录。,菜单项,File:Set Path,或,pathtool,指令可以调出搜索路径设置对话框,用户可添加自己经常用到的目录到搜索路径。如果是希望,永久修改搜索路径,应在修改结束后,选择,save,。,如果用户需要在程序体中添加搜索路径,可利用指令:,1),path(path,c:MyDir,),:,将,c:MyDir,添加到搜索路径尾端。,2),path(c:MyDir,path,),:,将,c:MyDir,添加到搜索路径首端。,path,指令只在当前,MATLAB,环境下有效,重新启动,MATLAB,,,需要重新设置。,17,5.,内存数组编辑器(,Array Editor,),利用内存数组编辑器可以输入大数组。,首先,在指令窗口创建新变量。然后,在工作空间浏览器中双击该变量,在数组编辑器,(Array Editor),中打开变量。在,Numeric format,中选择适当的数据类型,在,size,中输入行列数,即可得到一个大规模数组。修改数组元素值,直到得到所需数组。,18,6.M,文件编辑,/,调试器(,Editor/Debugger,),对于简单的或一次性的问题,可以通过在指令窗口直接输入,一组指令行,去求解。当所需指令较多或需要重复使用一段指令时,就要用到,M,脚本编程,。,MATLAB,下拉菜单项,File:New:M-File,可以新建一个,M,文件,而,File:Open,可以打开一个,M,文件,。打开的,M,文件编辑器如下图所示。菜单项,Debug,和,Breakpoints,可以完成调试,功能。,19,7.,交互界面分类目录窗口(,Lauch,Pad,),可以通过菜单项,View:Launch Pad,打开。,该窗口以可展开的树状结构显示,MATLAB,提供的所有交互界面,包括:帮助界面、演示界面、各种应用交互界面。通过双击树状结构上的分类图标,即可得到相应的交互界面。,20,8.,帮助导航,/,浏览器(,Help Navigator/Browser,),帮助导航,/,浏览器详尽展示由超文本写成的在线帮助。,帮助导航器,(Help Navigator),帮助浏览器,(Help Browser),21,打开帮助导航,/,浏览器的方法:,1)MATLAB,窗口上的,?,按钮。,2),在命令窗口输入,helpdesk,或,helpbrowser,,,回车。,3),下拉菜单,View:help,或,Help:MATLAB help,。,22,9.,开始按钮(,Start,),开始按钮是,MATLAB6.5,新增加的快捷功能,点击该按钮出现的菜单与交互界面窗口,(Launch Pad),类似。,开始按钮,开始按钮作为一个快捷按钮,可以打开前面提到的所有窗口。,23,1.2.4,MATLAB,帮助系统,1.“,纯文本”帮助,MATLAB,的所有执行指令、函数的,M,文件都有一个注释区。在该区中,用纯文本形式简要地叙述该函数的调用格式和输入输出宗量含义。在指令窗中运行,help,指令可获得不同范围的帮助。,1),运行,help help,得到如何使用,help,的提示。,help help,HELP On-line help,display text at command line.,HELP,by itself,lists all primary help topics.Each primary topic corresponds to a directory name on the MATLABPATH.,.,2),运行,help,得到包含一系列主题,(Topic),分类列表。,help,HELP topics:,matlab,general -General purpose commands.,matlab,ops -Operators and special characters.,matlablang,-Programming language constructs.,24,3),运行,help Topic,得到具体主题下的函数名,(,FunName,),列表。,help general,General purpose commands.,MATLAB Version 6.5(R13)20-Jun-2002,General information,helpbrowser,-Bring up the help browser.,doc -Complete on-line help,displayed in the help browser.,help -M-file help,displayed at the command line.,.,4),运行,help,FunName,得到具体函数的用法说明,help diary,DIARY Save text of MATLAB session.,DIARY filename causes a copy of all subsequent command window input and most of the resulting command window output to be appended to the named file.If no file is specified,the file diary is used.,.,25,2.“,帮助导航,/,浏览器交互界面,”,该交互界面由帮助导航器和帮助浏览器构成。该帮助系统提供,HTML,格式的帮助文件及,PDF,文件的链接,所有文件存放在,matlab6p5help,文件夹下。该帮助系统是最系统、丰富、详尽,而且界面友好。,打开帮助导航,/,浏览器交互界面的方法:,1,)在指令窗中运行指令,helpbrowser,或,helpdesk,。,2,)在,MATLAB,操作桌面,单击工具条上的,?,图标,。,3,)选中下拉菜单,View:Help,或,Help:MATLAB Help,。,26,3.PDF,帮助,该帮助提供可供打印的,PDF,格式的帮助文件。文件存放在,matlab6p5helppdf-doc,文件夹下。,1,)该帮助是“帮助导航,/,浏览器”中的一部分内容。可以直接在资源管理器中双击相应的,pdf,文件打开所需的帮助文件。,2,)也可以通过在“帮助导航,/,浏览器”中,用鼠标展开相应主题的目录树,打开该目录下的“,Printable Documentation”,,,通过其中的超级链接,打开相应的,pdf,文件。,27,4.,其他帮助,1,)演示帮助,在,MATLAB,中有一组演示程序,打开界面为帮助导航,/,浏览器界面。运行这组程序,可以对照屏幕上的显示仔细研究实现演示的有关,M,文件。该组演示程序具有很强的示范作用。初学用户可以通过运行比较简单的演示程序,很快的接受,MATLAB,。,老用户可以通过深入研究相应的,M,文件,快速掌握编程技巧。打开方法:,在,MATLAB,指令窗,运行指令,demo,。,选中下拉菜单,View:Launch Pad,,,在交互界面分类目录窗口双击所需主题下的,Demos,图标,。,单击快捷按钮,start,按钮下的,Demos,图标,。,选中下拉菜单,Help:Demos,。,28,2,),Web,帮助,这是,MathWorks,公司的技术支持网站。可以通过选中,Web,菜单下的选项,连接相应的,web,站点,获取信息。,m,MATLAB,大观园,m,sh.,net,MATLAB,语言与应用论坛,www.hirain,.com,九州恒润公司网站,www.mathtools,.com,Mathtools,公司网站,matlab.turbo.hit.edu,.com,哈工大,MATLAB,教学网站,mathtools.top263,.,net,“,MATLAB,乐园”网站,3,)网上资源,29,1.3 MATLAB,基本操作,例,1-1,求,12+2,(7-4),3,2,的运算结果。,1),键盘在指令窗输入下面一行指令,然后按下,Enter,键。,(12+2*(7-4)/32,2),等待指令执行完毕,,MATLAB,指令窗显示运算结果。,ans=,2,30,例,1-2,输入矩阵,A=,输入下面的指令,然后回车,A=1 2 3;4 5 6;7 8 9,2)MATLAB,显示结果,ans=,12 3,45 6,78 9,一,MATLAB,开发环境,简介,31,1,)数值的记述,:,采用习惯的,十进制表示法,例如:,3 -99 0.01 1.3e-3 4.5e33,2,),变量命名规则,变量名、函数名由英文字母、数字、下划线构成。,变量名、函数名区分字母大小写。,A1,、,a1,代表不同含义。,变量名第一个字符必须是英文字母。,变量名不得包含空格、标点,可以包含下划线。,例如:,m_array001,合法,,1_a d,minute,不合法。,MATLAB,命令通常是用小写字母书写。,MATLAB,中变量使用之前,不需要指定变量的数据类型,也不必事先声明变量。,一,MATLAB,开发环境,简介,1.3.1,数值、变量和表达式,32,3,),MATLAB,默认的预定义变量,预定义变量在,MATLAB,启动时由系统自动生成。用户在编写指令和程序时,应尽量避免使用下列预定义变量,以免混淆。,一,MATLAB,开发环境,简介,预定义变量,含 义,预定义变量,含 义,ans,计算结果的缺省变量名,NaN,或,nan,非数,如,0/0,eps,机器零阀值,nargin,函数输入宗量数目,Inf,或,inf,无穷大,如,1/0,nargout,函数输出宗量数目,i,或,j,虚单元,i=j=(-1),1/2,realmax,最大正实数,pi,圆周率,realmin,最小正实数,33,4,)运算符和表达式,MATLAB,表达式的规则与一般手写算式基本相同。,a),表达式由变量名、运算符和函数名组成。,b),表达式按优先级自左向右运算,括号可改变优先级顺序。,c),优先级顺序由高到底为:指数运算、乘除运算、加减运算。,d),表达式中赋值符“,=”,和运算符两侧允许有空格。,一,MATLAB,开发环境,简介,MATLAB,表达式,加,a+b,减,a-b,乘,a*b,除,a/b,或,ab,幂,ab,MATLAB,用,“,/,”,和“,”,代表左除,(,常用除法,),和右除运算。这两种运算的差别如下:,例如:,2/5,表示,0.4,,,25,表示,2.5,;,a/(b+c),表示,a(b+c),,,a(b+c),表示,(b+c)a,。,对于矩阵,,A/B,表示,AB,-1,,即,A*inv(B),;,BA,表示,B,-1,A,,即,inv(B)*A,。,34,5,)复数和复数矩阵,MATLAB,可以直接输入复数,a+bi,或,r*exp(i*theta),。,MATLAB,的矩阵元素可以是复数或复数表达式。,例,1-3,常用复数转换指令,real,、,imag,、,abs,、,angle,z1=3+4i%,输入一个复数,z1,z1=,3.0000+4.0000i,a=real(z1)%,求复数,z1,的实部,a=,3,b=imag(z1)%,求复数,z1,的虚部,b=,4,r=abs(z1)%,求复数,z1,的模,r=,5,theta=angle(z1)%,求复数,z1,的相角,theta=,0.9273,一,MATLAB,开发环境,简介,35,1.3.2,指令窗常用指令,1,)数据显示格式的控制指令,MATLAB,可以显示多种数据格式,默认的数据显示格式是,format short g,,,即在,short,和,short e,中自动选择最佳方式记述。用户可以在指令窗中直接输入指令,format+,数据格式,,修改数据的显示格式,该修改仅对当前指令窗有效。,另外,用户可以通过下拉菜单,File:Preferences,打开参数设置对话框进行设置。该修改永久有效,除非再次修改。,一,MATLAB,开发环境,简介,指 令,含 义,举 例,format short,小数点后,4,位有效数字,最多不超过,7,位。大于,1000,时,用科学记数法表示,.,314.1590,3.1416e+003,format short e,5,位科学记数表示,3.1416e+00,format long,15,位数字表示,3.14159265358979,format rat,近似有理数表示,355/133,36,2,)指令窗常用控制指令,也可以利用菜单命令实现,例如:,dir,d:MyProg,%,显示,d:MyP,rog,目录下的文件清单,edit d:MyProgexm013_9.m%,打开编辑器编辑,exm013_9.m,which exm013_9.m%,指出,exm013_9.m,所在的目录,一,MATLAB,开发环境,简介,指 令,含 义,指 令,含 义,cd,设置当前工作目录,exit/quit,退出,MATLAB,clf,清除图形窗,open,打开文件,clc,清除指令窗中显示的内容,md,创建目录,clear,清除内存变量,more,使显示内容分页显示,dir,列出指定目录的文件清单,type,显示,M,文件的内容,edit,打开,M,文件编辑器,which,指出文件所在目录,37,3,)指令行中常用的标点符号,标点在,MATLAB,指令中的作用极其重要。为了保证指令的正确执行,,标点符号必须在英文状态下输入,。,一,MATLAB,开发环境,简介,名 称,标点,作 用,空格,分隔输入量;分隔数组元素,逗号,作为要显示结果的指令的结尾;分隔输入量;分隔数组元素,黑点,.,小数点,分号,;,作为不显示结果的指令的结尾;分隔数组中的行,冒号,:,用作生成一维数组;用作下标时表示该维上的所有元素,注释号,%,其后内容为注释内容,单引号,其内容为字符串,圆括号,(),用作数组标识;表示函数输入宗量列表时用,方括号,输入数组时用;表示函数输出宗量列表时用,花括号,用作元胞数组标识,下连符,_,用在变量、函数和文件名中,续行号,将长指令行分成两行输入,保持两行的逻辑连续。,38,1.3.3,内存变量的操作,1.,内存变量的查阅、删除,1,),who,,,whos,指令查询内存变量,who,指令获取当前所有内存变量的名称列表。,whos,指令获取详细的内存变量列表,包含变量类型、大小等信息。,2,),clear,指令删除内存变量,clear,指令清除所有内存变量,clear v1 v2,清除内存变量,v1 v2,,,被删变量间用空格分隔,3,)打开,工作空间浏览器,(,WorkSpace,),,,可以看到所有内存变量的详细说明,和,whos,指令效果相同。并且可以通过右键点击变量引出现场菜单,对该变量进行编辑、删除、重命名、保存、绘图等操作。,一,MATLAB,开发环境,简介,39,2.,数据文件的存取,1),利用指令,save,、,load,实现数据文件,(*.mat),的存取。,save/load filename,%,保存,/,打开文件,filename.mat,save/load filename v1 v2,%,保存,/,打开变量,v1 v2,2),打开工作空间浏览器,(,WorkSpace,),,,可以在右键现场菜单中选择,Save Workspace as,保存所有内存变量,或,Save Selection as,保存指定变量。,Import Data,用于装入数据文件。,例,1-4,a=1 2 3;4 5 6;7 8 9;%,输入一个,3*3,数组,a,b=This is a test;%,输入一个字符串数组,b,c=the first line,1 2 3;%,输入一个元胞数组,c,d.d1=,Struct,;%,输入一个构架数组,d,d.d2=8;,d.d3=c;,一,MATLAB,开发环境,简介,40,who%,得到内存变量清单,Your variables are:,a b c d,whos,%,得到内存变量的详细清单,Name Size Bytes Class,a 3x3 72 double array,b 1x14 28 char array,c 1x2 172 cell array,d 1x1 564,struct,array,Grand total is 71 elements using 836 bytes,save test1%,保存所有内存变量到文件,test1.mat,clear c%,清除内存变量,c,who%,察看内存变量清单,Your variables are:,a b d,clear%,清除所有内存变量,who%,察看内存变量清单,load test1 a b%,载入所有内存变量到文件,test1.mat,who%,察看内存变量清单,Your variables are:,a b,一,MATLAB,开发环境,简介,41,小结,1,)安装,MATLAB,时,注意选取适当组件。,2,)熟悉,MATLAB,操作界面。,3,)了解帮助系统,对编程非常有益。,4,)掌握,MATLAB,的基本操作方法,变量、函数的命名规则,基本运算符,指令窗常用控制指令,标点符号的正确使用,内存变量的查询、编辑、删除等操作,一,MATLAB,开发环境,简介,42,43,44,45,
展开阅读全文