《【精品】MATLAB及应用课件PPT(完整版).ppt》由会员分享,可在线阅读,更多相关《【精品】MATLAB及应用课件PPT(完整版).ppt(550页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品】MATLAB及应用课件PPT(完整版)课程的性质、目的和任务课程的性质、目的和任务 Matlab 是一个可视化的计算程序,被广泛地应用在科学运算领域里。它具有功能强大、使用简单等特点,内容包括:数值计算、符号计算、数据拟合、图形图像处理、系统模拟和仿真分析等功能。此外,用Matlab还可以进行动画设计、有限元分析等。本课程的目的是使学生能够运用Matlab进行一般的工程计算,掌握Matlab的基本技术(基本计算、矩阵处理、符号运算和图形显示技术等),为将来从事工程技术方面的产品开发、科学研究、工程计算和管理打下一定的基础。1.1MATLAB1.1MATLAB简介简介简介简介-发展发展发
2、展发展1988年年,推出,推出MATLAB3.x版本版本(DOS版版)。1993年年,推出,推出MATLAB4.0版本版本(Win3.x)。1997年年,推出,推出MATLAB5.0版版(Windows95)。1999年年,推出,推出MATLAB5.3版本版本R11(流行较广流行较广)。2000年年,推出,推出MATLAB6.0版本版本R12 (Win98/Win2000)2001年年,推出,推出MATLAB6.1(克服克服6.0不支持不支持P4,Win me,汉字汉字等等)。2002年年,推出,推出MATLAB6.5R13(速度更快、性能更优越等速度更快、性能更优越等)。2004年年,推出,
3、推出MATLAB7版本版本R14第第第第1 1章章章章 MatlabMatlab概述概述概述概述2、MATLAB 的主要特点MATLAB 的基本单位为矩阵.MATLAB 语言以解释方式工作.具有非常友好的人机界面。具有强大的作图和数据可视化功能.具有极强的可扩展性。3、MATLAB 的基本组成MATLAB 主程序、Simulink 动态系统仿真和 MATLAB 工具箱(Toolbox)三大部分组成。主程序包括了 MATLAB 语言、工作环境、句柄图形、数学函数库和应用程序接口五部分.第第第第1 1章章章章 MatlabMatlab概述概述概述概述1.2、Matlab的工作环境1.MATLAB
4、的启动 桌面快捷方式启动 开始菜单方式启动2.MATLAB和退出 Matlab菜单命令/关闭按钮 在Matlab命令窗口输入exit或quit第第第第1 1章章章章 MatlabMatlab概述概述概述概述MATLAB的桌面环境可以包含多个窗口,这些窗口分别为历史命令窗口(CommandHistory)、命令行窗口(CommandWindow)、当前目录浏览器(CurrentDirectoryBrowser)、工作空间浏览器(WorkspaceBrowser)、目录分类窗口(LaunchPad)、数组编辑器(ArrayEditor)、M文件编辑器/调试器(Editor/Debugger)、超文
5、本帮助浏览器(HelpNavigator/Browser),这些窗口都可以内嵌在MATLAB主窗体中,组成MATLAB的用户界面。其中当MATLAB安装完毕并首次运行时,展示在用户面前的界面为MATLAB运行时的缺省界面窗口,如图1-1所示。第第第第1 1章章章章 MatlabMatlab概述概述概述概述图1-1MATLAB默认的用户界面第第第第1 1章章章章 MatlabMatlab概述概述概述概述MATLAB 6.5的缺省界面和MATLAB 6.1的缺省界面相比还是有一定变化的,主要就是在界面的左下角有一个名为“Start”的启动菜单,在这个菜单中可以执行MATLAB产品的各种工具,并且可
6、以查阅MATLAB包含的各种资源,它的功能和MATLAB的目录分类窗口(Launch Pad)功能非常类似。在默认的缺省用户界面中,新版本的MATLAB中没有了目录分类窗口(Launch Pad),而是工作空间浏览器(Workspace Browser)。MATLAB启动的界面可以具有多种默认的选择,用户可以通过MATLAB界面中的“View”菜单下的“Desktop Layout”子菜单下的命令选择不同的MATLAB界面,这些命令分别为:第第第第1 1章章章章 MatlabMatlab概述概述概述概述Default:缺省的界面,如图1-1所示。包含历史命令窗口(Command History
7、)、命令行窗口(Command Window),此外工作空间浏览器(Workspace Browser)和当前目录浏览器(Current Directory Browser)两个窗口层叠在一起。Command Windows Only:仅包含命令行窗口(Command Window),此时MATLAB界面的外观类似于旧版本的MATLAB。Simple:包含两个窗口命令行窗口(Command Window)和历史命令窗口(Command History),两个窗口并列在界面中,如图1-2所示。第第第第1 1章章章章 MatlabMatlab概述概述概述概述图1-2选择Simple菜单命令的界面第
8、第第第1 1章章章章 MatlabMatlab概述概述概述概述Short History和Tall History:这两个菜单命令包含的窗口类型和数量同默认的界面完全一致,不过排放的顺序不同,如图1-3、1-4所示。图1-3选择ShortHistory菜单命令的界面第第第第1 1章章章章 MatlabMatlab概述概述概述概述图1-4选择TallHistory菜单命令的界面第第第第1 1章章章章 MatlabMatlab概述概述概述概述Five Panel:包含所有的MATLAB桌面窗口,在MATLAB界面中各个窗口处于平铺状态,如图1-5所示图1-5选择FivePanel菜单命令的界面第第
9、第第1 1章章章章 MatlabMatlab概述概述概述概述在MATLAB用户界面的View菜单下还有一些菜单命令可以用来选择显示在图形界面中的窗口,用户可以根据自己的喜好选择配置用户界面。在本小结提及的各种用户交互的窗口将在后续的章节中详细讲述。一般情况下,建议用户选择“Command Windows Only”方式来运行MATLAB。在这种启动方式下,MATLAB的启动速度比较快,占用的资源略少。2.通用窗口通用窗口MATLAB工作界面中的常用窗口包括工作界面中的常用窗口包括命令窗口命令窗口历史命令窗口历史命令窗口当前工作目录窗口当前工作目录窗口工作空间浏览器窗口工作空间浏览器窗口变量编辑
10、窗口变量编辑窗口M文件编辑调试窗口文件编辑调试窗口所有窗口都可以单独显示,所有窗口都可以单独显示,使用使用Undock和和Dock可使窗口单独出来和返回到可使窗口单独出来和返回到MATLAB工作界面中。工作界面中。1菜单和工具栏菜单和工具栏默认情况下的菜单和工具栏默认情况下的菜单和工具栏:【File】菜单主要用于对文件的处理。菜单主要用于对文件的处理。【Edit】菜菜单单主主要要用用于于复复制制、粘粘贴贴等等操操作作,与与一一般般Windows程序的类似,在此不作详细介绍。程序的类似,在此不作详细介绍。【Debug】菜单用于调试程序。菜单用于调试程序。【Desktop】菜单用于设置主窗口中需要
11、打开的窗口。菜单用于设置主窗口中需要打开的窗口。【Window】菜单列出当前所有打开的窗口。菜单列出当前所有打开的窗口。【Help】菜单用于选择打开不同的帮助系统。菜单用于选择打开不同的帮助系统。第第第第1 1章章章章 MatlabMatlab概述概述概述概述4.MATLAB工具栏用用 MATLABMATLAB的的 MM文件编辑器新建一个文件编辑器新建一个 MM文件;文件;用用 MATLABMATLAB编辑器打开一个文件;编辑器打开一个文件;将选中的内容剪切到剪贴板;将选中的内容剪切到剪贴板;将选中的内容复制到剪贴板;将选中的内容复制到剪贴板;将剪贴板中的内容粘贴到光标指定的位置;将剪贴板中的
12、内容粘贴到光标指定的位置;撤消最近一次的操作;撤消最近一次的操作;打开打开 SimulinkSimulink浏览器;浏览器;打开打开 MATLABMATLAB帮助窗口帮助窗口。当前工作路径当前工作路径1.2.1命令窗口(CommandWindow)MATLAB提提供供给给用用户户使使用用的的管管理理功功能能的的人人机机界界面面,在在命命令令窗窗口口中中输输入入MATLAB的的命命令令和和数数据据后后按按回回车车键键,立立即即执执行行运运算算并显示结果。并显示结果。说说明明:命命令令窗窗口口中中的的“”为为命命令令提提示示符符,表表示示MATLAB处处于于准备状态。准备状态。当当在在提提示示符符
13、后后输输入入一一段段程程序序或或一一段段运运算算式式后后【Enter】键键,MATLAB会会给给出出计计算算结结果果,并并再再次次进进入入准准备备状状态态(所所得得结结果果将被保存在工作空间窗口中)。将被保存在工作空间窗口中)。第第第第1 1章章章章 MatlabMatlab概述概述概述概述5.Command Windows运用入门1)Command Windows指令窗口简介在命令窗口内执行的MATLAB主要操作有:运行函数和输入变量;控制输入和输出;执行程序,包括M文件和外部程序。命令窗口中可直接运行MATLAB 函数,而这些函数往往又和MATLAB命令直接联系。MATLAB在命令窗口中的
14、语句形式为:变量表达式;1.2.1命令窗口(CommandWindow)MATLAB提提供供给给用用户户使使用用的的管管理理功功能能的的人人机机界界面面,在在命命令令窗窗口口中中输输入入MATLAB的的命命令令和和数数据据后后按按回回车车键键,立立即即执执行行运运算算并显示结果。并显示结果。说说明明:命命令令窗窗口口中中的的“”为为命命令令提提示示符符,表表示示MATLAB处处于于准备状态。准备状态。当当在在提提示示符符后后输输入入一一段段程程序序或或一一段段运运算算式式后后【Enter】键键,MATLAB会会给给出出计计算算结结果果,并并再再次次进进入入准准备备状状态态(所所得得结结果果将被
15、保存在工作空间窗口中)。将被保存在工作空间窗口中)。在命令窗口内执行的MATLAB主要操作有:运行函数和输入变量;控制输入和输出;执行程序,包括M文件和外部程序。命令窗口中可直接运行MATLAB 函数,而这些函数往往又和MATLAB命令直接联系。MATLAB在命令窗口中的语句形式为:变量表达式;运行函数和键入变量运行函数和键入变量在命令窗口的提示符“”下,可以直接输入变量。例:计算A=256/41002128A=256/4-100*2+128%从键盘输入,并单从键盘输入,并单击回车键击回车键A=%屏幕显示的结果-8MATLAB语法规定,百分号“%”后面的语句为注释语句。例例例例 在命令窗口中输
16、入不同的命令和数值,并在命令窗口中输入不同的命令和数值,并在命令窗口中输入不同的命令和数值,并在命令窗口中输入不同的命令和数值,并查看其显示方式。查看其显示方式。查看其显示方式。查看其显示方式。a=0.5a=0.5000 b=sinb=sin if a1 c=true%如果a(12+2*(7-4)/32(2)在上述表达式输入完成后,按【Enter】键,该指令被执行(3)在指令执行后,Matlab指令窗中将显示以下结果ans=2第第第第1 1章章章章 MatlabMatlab概述概述概述概述例1.2简单矩阵 的输入步骤(1)在键盘中输入下列内容 A=1,2,3;4,5,6;7,8,9(2)按【E
17、nter】键,该指令被执行(3)在指令执行后,Matlab指令窗中将显示以下结果A=1 2 3 4 5 6 7 8 9第第第第1 1章章章章 MatlabMatlab概述概述概述概述当然我们也可以采用分行输入的形式 A=1,2,3 4,5,6 7,8,9A=1 2 3 4 5 6 7 8 9第第第第1 1章章章章 MatlabMatlab概述概述概述概述3)计算结果的图象显示例 1-3 绘制函数 y=2sin(1+x)的图像,并计算当 x=0.5 时的函数值。x=(1:0.1:10);%x=(1:0.1:10);%给出自变量给出自变量 x x 的定义域的定义域 y=2*sin(1+x);%y=
18、2*sin(1+x);%写出函数形写出函数形式式plot(xplot(x,y)%y)%绘出函数图形绘出函数图形 y=2*sin(1+0.5)%y=2*sin(1+0.5)%求当求当 x=0.5 x=0.5 时的时的 y y 值,其值,其后不加分号,后不加分号,直接在窗口中直接在窗口中给出结果给出结果 y=1.9950%y=1.9950%输出输出 y y 的计的计算结果算结果 第第第第1 1章章章章 MatlabMatlab概述概述概述概述例例 1-4 1-4 绘制函数绘制函数 y=3x3-10 x2+5x-8y=3x3-10 x2+5x-8的图像的图像for i=1:100for i=1:10
19、0 x(i)=0.1*i;x(i)=0.1*i;y(i)=3*x(i)3-y(i)=3*x(i)3-10*x(i)2+5*x(i)-8;10*x(i)2+5*x(i)-8;endendplot(x,y)plot(x,y)第第第第1 1章章章章 MatlabMatlab概述概述概述概述5.MATLAB通用命令1.4MATLAB7.1的其他管理MATLAB文件格式MATLAB7.1的常用文件有.m、.mat、.fig、.mdl、.mex、.p等类型。设置搜索路径用户自己书写的函数有可能并没有保存在搜索路径下。要解决这个问题,只需把程序所在的目录扩展成MATLAB的搜索路径即可。MATLAB文件格式
20、程序文件程序文件程序文件即程序文件即M文件(文件(M-File),其文件的扩展名为),其文件的扩展名为.m。图形文件图形文件图形文件(图形文件(Figure)的扩展名为)的扩展名为.fig。模型文件模型文件模型文件(模型文件(Model)扩展名为)扩展名为.mdl,可以在,可以在“File”菜单中菜单中创建创建Model时生成时生成.mdl文件。文件。数据文件数据文件数据文件即数据文件即MAT文件,其文件的扩展名为文件,其文件的扩展名为.mat。MATLAB文件格式可执行文件可执行文件可执行文件即可执行文件即MEX文件,其文件的扩展名为文件,其文件的扩展名为.mex。项目文件项目文件项目文件的
21、扩展名为项目文件的扩展名为.prj。P码文件码文件P码文件即伪代码文件,是码文件即伪代码文件,是M文件被调用后在内存中生文件被调用后在内存中生成的内部伪代码。成的内部伪代码。设置搜索路径在MATLAB内存中进行检查,检查“sin”和“x”是否为工作空间的变量或特殊变量;检查“sin”和“x”是否为MATLAB的内部函数;在当前目录上,检查是否有相应的“.m”或“.mex”文件存在;在MATLAB搜索路径的所有其他目录中,依次检查是否有相应的“.m”或“.mex”的文件存在;如果都不是,则MATLAB发出错误信息。1.MATLAB的基本搜索过程设置搜索路径窗口(SetPath)打开设置搜索路径窗
22、口的方法:在MATLAB界面选择菜单“File”“SetPath”;在命令窗口中运行“pathtool”或“editpath”命令。3.设置搜索路径的常用命令path命令path(path,新目录)addpath命令addpath目录1目录2参数例 使用命令设置搜索路径addpath c:TEMP-begin path(path,c:TEMP)p=path附:在命令窗口中输入path或genpath可得到MATLAB的所有搜索路径,第第第第1 1章章章章 MatlabMatlab概述概述概述概述1.3 Matlab帮助系统帮助系统1、Matlab联机帮助#工具条中的 按钮;#help菜单栏中前
23、2 项中的任何一项;#在命令窗口中执行 helpdesk或doc。2 2、MatlabMatlab的网上资源的网上资源webweb菜单栏菜单栏使用帮助浏览器使用帮助浏览器帮助主题(Contents)、索引(Index)、搜索(Search)和演示(Demos)四个面板来查找帮助信息:Contents面板为可展开的树形结构,向用户提供全方位系统帮助的向导图;Index面板是MATLAB提供的术语索引表,可以查找命令、函数和专用术语等。Search面板是通过关键词来查找全文中与之匹配的章节条目,Index只在专用术语表中查找而Search的搜索是在整个HTML文件中进行的,因此其覆盖面更宽。Dem
24、os面板为MATLAB提供了Demo演示。第第第第1 1章章章章 MatlabMatlab概述概述概述概述3、Matlab常用的窗口帮助命令常用的窗口帮助命令MATLABMATLAB的帮助系统的帮助系统1、帮助命令帮助命令是查询函数语法的最基本的方法,查询信息直接显示在命令窗口。帮助命令有help、lookfor。help%在命令窗口直接输入help,显示主要的在线帮助主题。help函数名%显示关于某个具体函数的功能、调用格式、及相关函数。help帮助主题%列出指定主题下的函数。例如helpelfun%列出所有基本函数。MATLABMATLAB的帮助系统(续)的帮助系统(续)lookforim
25、age%查找有关图像的函数和命令。2、在线帮助浏览器MATLAB6.x设计了全新的在线帮助浏览器,当在View菜单中选择了Help选项,或在Help菜单中选择了MATLABHelp选项时,都可以打开帮助浏览器。3、演示帮助选择Help菜单中的Demos选项,可以打开演示窗口,观看要查询项的动画演示。使用帮助命令使用帮助命令lookfor关键字关键字(查找)(查找)lookfor命令是在所有的帮助条目中搜索关键字,常用来查找具有某种功能而不知道准确名字的命令。如:如:lookforsound打开帮助窗口命令:helpwin:打开帮助窗口helpdesk:打开帮助桌面demo:打开演示窗口第第第第
26、1 1章章章章 MatlabMatlab概述概述概述概述demo命令联机演示系统联机演示系统可以通过以下方式打开联机演示系统。选择MATLAB主窗口菜单的【Help】|Demos】选项;在命令窗口输入demos;直接在帮助页面上选择Demos页。第第第第1 1章章章章 MatlabMatlab概述概述概述概述helpwin 命令用于打开 MATLAB 的帮助文件窗第第第第1 1章章章章 MatlabMatlab概述概述概述概述lookfor 命令允许用户通过完整的或部分关键字来搜索要查找的内容who 和 whos 的作用是列出在 MATLAB 工作内存中驻留的变量名exist 命令用来查找或检
27、查变量和函数的存在性四、四、MATLABMATLAB的运行方式的运行方式1、命令行运行方式演算纸式的科学计算语言在MATLAB的应用中,最基本、最简单的应用,就是在命令窗口中直接输入命令来实现计算或绘图功能。MATLAB命令行的一般形式为:变量表达式或:表达式(赋值语句)使用MATLAB最简单的方式是将MATLAB的命令窗口看作计算器,通过输入数学算式直接计算。12345ans=15 如果在输入的表达式后面跟上分号“;”,那么运行后就不会马上显示运算的结果,必须键入输出变量后才能显示运算结果。用分号关闭不必要的输出会使程序运行速度成倍甚至成百倍地提高。12345;则不会马上显示运算结果,要得到
28、运算结果,必须ans则显示结果为ans=15如果在表达式后面跟上逗号“,”或什么都不跟,运行后会马上显示该表达式的运算结果。如果一个表达式很长,可以用续行号“”将其延续到下一行。1+2+3+4+5+%注意加号写在本行。6+7+8+9+10则输出结果ans=55如果续行号前面是数字,直接使用续行号会出现错误,有三种解决办法,一是设法使续行号前面是一个运算符号,二是先空一格再加续行号,三是再加一个点。在一行中也可以写几个语句,它们之间用逗号“,”或分号“;”隔开。A=1,2,3.3,sin(4),X=1966/310+1则输出结果A1.00002.00003.3000,-0.7568X=7.341
29、9。2 2、mm文件运行方式文件运行方式所谓m文件,就是用MATLAB语言编写的、可以在MATLAB中运行的程序。它是以普通文本格式存放的,故可以用任何文本编辑软件进行编辑。MATLAB提供的m文件编辑器就是程序编辑器。在File菜单中选择NEW,再选择M-file,或点击新建图标,就可以调出m文件编辑器,用户可以用此编辑器编写m文件。m文件有两种形式,一种称为命令文件(ScriptFile),另一种称为函数文件(FunctionFile),两种文件的扩展名都是m。(1 1)命令文件)命令文件如果要输入较多的命令,或者要经常对某些命令进行重复的输入,则可以将这些命令按执行顺序存放在一个m文件中
30、,以后只要在MATLAB的命令窗口中输入该文件的文件名,系统就会调入该文件并执行其中的全部命令。这种形式就是MATLAB的命令文件。命令文件中的语句可以访问MATLAB工作空间的所有变量;而在命令文件执行过程中创建的变量也会一直保留在工作空间中,其他命令或m文件都可以访问这些变量。命令文件相当于DOS批处理文件。求满足1+2+3+n100的最大正整数n的MATLAB程序为:sum=0;n=0;%赋初始值whilesum=100,故应对sum减nn=n-1;%当循环结束时有sum=100,故应对n减1n,sum%显示最大正整数n以及和sum将上述程序存入文件fl.m,然后在命令窗口键入fl显示结
31、果为n=13sum=91指出:程序中由符号“%”开始的文字都是注释文字,用来对程序或程序行行进行注释说明,符号“%”称为注释符,MATLAB在执行时将忽略“%”后的内容。(2 2)函数文件)函数文件函数文件是另一类m文件,可以像库函数一样方便地被调用,MATLAB提供的许多工具箱,是由函数文件组成的。对于某一类特殊问题,用户可以建立系统的函数文件,形成专用工具箱。函数文件的第一行有特殊的要求,它必须遵循如下的形式:function=()其他各行都是程序运行语句,没有特别要求。函数文件的文件名必须是.m。实现符号函数运算功能的函数m文件为:functiony=sgn(x)%这是一个定义符号函数y
32、=sgn(x)的函数文件。ifxx=4/3*pi;y=3*sgn(sin(x)显示结果为:y=-3五、五、MATLABMATLAB的常用命令的常用命令MATLAB可以通过菜单对工作着的窗口进行操作,也可以通过键盘在命令窗口输入命令进行操作,下面给出几个常用的通用命令。quit 关闭MATLABexit 关闭MATLABclc 清除MATLAB命令窗口中的所有显示内容clear 清除工作空间中保存的所有变量其他命令可以在学习应用中逐步熟悉。第第第第1 1章章章章 MatlabMatlab概述概述概述概述上机练习(上机练习(1)(1)以两种方式打开MATLAB工作窗口,进入MATLAB6.5的工作
33、环境,并尝试用不同的方式退出。(2)尝试、熟悉MATLAB6.5的各栏菜单以及各个工具栏的功能。(3)重新启动MATLAB6.5,进入MATLAB工作窗口,用who命令查看当前工作空间内有无变量及其值。(4)绘制函数y=cos(5x+2)/sin(3x+1)的图像,并求解当x=2时的函数值。(5)此时再次用who命令查看工作空间内的变量名及其值,与(3)比较,同时用whos命令查看变量,比较与who命令的不同。(6)熟练掌握MATLAB的通用命令。(7)练习并熟练掌握MATLAB的帮助命令,学会利用MATLAB的帮助信息。(8)用lookfor命令查找函数cos的信息,并与help命令查找的结
34、果相比较,注意采用两种命令之间的差别。第第2章章Matlab语言程序设计语言程序设计基本要求:基本要求:(1)了解了解Matlab的各种数据类型的各种数据类型;(2)掌握掌握Matlab的运算符与操作符的含义和用法的运算符与操作符的含义和用法;(3)掌握掌握Matlab基本表达式并了解其常用函数分类;基本表达式并了解其常用函数分类;(4)熟练掌握熟练掌握Matlab的程序结构(顺序结构、循环结构和的程序结构(顺序结构、循环结构和分支结构)与流程控制语句分支结构)与流程控制语句;(5)了解并初步掌握了解并初步掌握Matlab的数据文件的读写;的数据文件的读写;(6)学会学会Matlab的的M文件
35、的编写方法,包括命令文件和函文件的编写方法,包括命令文件和函数文件。了解数文件。了解M件的调试命令和调试方法。件的调试命令和调试方法。第第第第2 2 2 2章章章章 MatlabMatlabMatlabMatlab语言程序设计语言程序设计语言程序设计语言程序设计1 1、MatlabMatlab数据类型数据类型 MATLAB的早期版本只有非常简单的二维数组和字符类型的数据,目前的MATLAB版本中不仅有多达十几种的基本数据类型,在不同的专业工具箱中还有特殊的数据类型,并且MATLAB还支持面向对象的编程技术,支持用户自定义的数据类型。MATLAB支持的基本数据类型见图2-1。第第第第2 2 2
36、2章章章章 MatlabMatlabMatlabMatlab语言程序设计语言程序设计语言程序设计语言程序设计图2-1 MATLAB的数据类型 第第第第2 2 2 2章章章章 MatlabMatlabMatlabMatlab语言程序设计语言程序设计语言程序设计语言程序设计获取MATLAB的数据类型列表可以在MATLAB命令行窗口中键入help datatypes命令。在图2-1中所示的各种数据类型都可以用于创建向量、矩阵或者多维数组。用户自定义的数据类型也是图示的各种数据类型的组合。在不同的MATLAB工具箱中具有自定义的数据类型,例如控制系统工具箱中定义的LTI对象,在滤波器设计工具箱中定义的
37、滤波器对象,在符号数学工具箱中定义的符号类型数据等。这些工具箱中包含的特殊数据对象也都使用这些基本的数据类型组合构成。第第第第2 2 2 2章章章章 MatlabMatlabMatlabMatlab语言程序设计语言程序设计语言程序设计语言程序设计 需要指出一点,MATLAB的基本数据类型是双精度数据类型和字符类型。MATLAB的M语言和其他高级编程语言不同的是,MATLAB没有具体的变量或对象声明和定义过程,任何数据类型的变量或对象都可以利用面向对象编程技术中构造函数的方法或者数据类型转换的方法来创建其他数据类型对象和变量。MATLAB和Java语言、C+语言类似,所有数据类型就是相应的类,具
38、有一定的面向对象的特点。MATLAB的不同数据类型的变量或对象占用的内存空间不尽相同,不同的数据类型的变量或对象也具有不同的操作函数。在本章中,将详细讲述MATLAB的基本数值类型、逻辑类型、字符串、元胞数组和结构的使用方法,其中,元胞数组是MATLAB中常用的一种独有的数据类型。2.12.1变量变量变量变量 1 1、标识符:标识符:表示变量名表示变量名,常量名常量名,函数名和文件名的字符串函数名和文件名的字符串(1)由由字字母母、数数字字、下下划划线线等等符符号号组组成成,第第一一个个字字母必须是英文字母母必须是英文字母。(2)变量和常量最长不要超过)变量和常量最长不要超过19个字符,多余截
39、取。个字符,多余截取。(3)函数和文件名通常不超过)函数和文件名通常不超过8个字符。个字符。(4)变量名大小写敏感。)变量名大小写敏感。2.12.1变量变量变量变量(5)MATLAB中的特殊变量名,应避免使用。中的特殊变量名,应避免使用。例如:例如:变量名意义ans用于存储计算结果的默认变量pi圆周率inf(Inf)无穷大,例如1/0eps计算机的最小数,和1相加产生比1大的数,在pc机上为252。NaN(nan)不定量,如0/0i或j虚数单位,i=j=sqrt(-1)2.12.1变量变量变量变量 2 2、变量类型变量类型:(1)数值:内部只有一种类型为双精度()数值:内部只有一种类型为双精度
40、(8个字节,个字节,64位),位),实数为实数为1个双精度数,复数为两个双精度数。个双精度数,复数为两个双精度数。但输出显示格式有但输出显示格式有8种。种。可用可用format命令来改变显示格式。命令来改变显示格式。例如:例如:format short 显示显示5位数位数(pi:3.1416)format long 显示显示15位数位数(pi:3.14159265358979)format bank 显示货币格式显示货币格式(pi:3.14)2.12.1变量变量变量变量 数字显示的数字显示的8种格式种格式Matlab命令命令显示形式显示形式说说明明formatlong3.14159265358
41、979316位十进制位十进制formatshorte3.1416e+0005位十进制数加指位十进制数加指数数formatlonge3.141592653589793e+00016位十进制数加位十进制数加指数指数formathex400921fb54442d1816位十六进制位十六进制formatbank3.14两位小数两位小数format+正、负或零正、负或零formatrat355/113分数近似分数近似formatshort(默认默认)3.14159二位整数,四位二位整数,四位小数小数指出:自定义变量名一般不应和系统变量同名。在MATLAB中输入的内容直接决定变量的类型。使用who和who
42、s命令可以查看变量。使用clear命令可以删除所有定义过的变量。如果只是删除其中某些变量,应在clear后面指定要删除的变量名。例如 clear a z有了变量,就可以组成表达式,也就可以对变量进行赋值。MATLAB的赋值语句有两种形式。变量名表达式 表达式 在第一种情况下,MATLAB将右边的表达式的值赋值给左边的变量,在第二种情况,MATLAB将表达式的值赋值给系统变量ans。所谓表达式,就是用运算符号把特殊字符、函数名、变量名等有关运算量连接起来的式子,其结果是一个矩阵。2.12.1变量变量变量变量 2 2、变量类型变量类型:(2)字符)字符(串串):用单引号表示。:用单引号表示。如:如
43、:a=abc 实际上是一个单个字符的实际上是一个单个字符的ASCII码组成的行向量。码组成的行向量。2.12.1变量变量变量变量 3、矩阵、矩阵 MATLAB中的变量或常量都代表一个矩阵,中的变量或常量都代表一个矩阵,所有的变量运算其实都是矩阵运算。所有的变量运算其实都是矩阵运算。单个值实际上是单个值实际上是1*1阶矩阵。阶矩阵。矩阵元素可以是数值矩阵元素可以是数值(实数或复数实数或复数)或字符串。或字符串。一一个个由由矩矩阵阵表表示示的的变变量量可可以以是是一一个个数数、一一组组数数、一个文件(如语音)、一幅图象等。一个文件(如语音)、一幅图象等。2.12.1变量变量变量变量 3、矩阵、矩阵
44、 矩阵(矩阵(Matrix)与数组)与数组(Array)的关系的关系:矩阵运算有着严格理论矩阵运算有着严格理论 数组运算一般指元素运算数组运算一般指元素运算4 4、矩阵的创建、矩阵的创建矩阵是线性代数的基本运算单元。通常矩阵是指含有m行n列数值的矩形结构。矩阵中的元素可以是实数也可以是复数,由此可以将矩阵划分为实矩阵和复矩阵。MATLAB支持线性代数所定义的全部矩阵运算。在MATLAB中创建矩阵应遵循以下原则:矩阵的元素必须在方括号“”中。矩阵的同行元素之间用空格或逗号“,”分隔。矩阵的行与行之间用分号“;”或回车符分隔。矩阵的尺寸不必预先定义。矩阵元素可以是数值、变量、表达式或函数。如果矩阵
45、元素是表达式,系统将自动计算出结果。2.12.1变量变量变量变量 4 4、变量的查看:变量的查看:who/whos5、变量的保存和恢复:、变量的保存和恢复:save 文件名文件名(缺省后缀为(缺省后缀为.mat)例如:例如:save myvarload 文件名文件名 例如:例如:load myvar2.22.2矩阵的赋值矩阵的赋值矩阵的赋值矩阵的赋值 1 1、矩阵的直接赋值矩阵的直接赋值(1)基本赋值)基本赋值 1)使用)使用 2)同一行元素用空格或)同一行元素用空格或,隔开隔开 3)不同行用)不同行用;隔开隔开 例如:例如:a=1 2 3;4 5 6(2)复数的赋值:)复数的赋值:例如例如:
46、z=1+2i或或1+2j z=1+2i 3+4i z=1 3+2 4*i 直接输入法在命令窗口按规则输入方式创建矩阵例1.在命令窗口创建简单的数值矩阵。A=132;310;215回车后在命令窗口显示如下结果A=132310215例2.在命令窗口创建带运算表达式的矩阵,不显示结果。y=sin(pi/3),cos(pi/6);log(20),exp(2);输入“y”回车,在命令窗口显示出来。y显示出的结果为y=0.86600.86602.99577.3891指出:在矩阵较大时,用分行输入的方式(用回车代替分号区分不同行)比较接近于线性代数中的矩阵,更直观一些。任何矩阵元素内部不能有空格,否则会被认
47、定是两个元素。2、通过数据文件创建矩阵导入其他程序创建的数据例3.用记事本输入一组数据1234234543455761保存为fort.txt,用load命令读入,loadfort.txt输入fort就可以在命令窗口显示创建的矩阵。fort显示结果为fort=1234234543455761指出:通过load命令导入数据是形成矩阵的重要方法,解决了在工作现场没有MATLAB系统和其他数据管理系统的问题,可以只用基本的文字处理工具完成。MATLAB对文本形式的数据文件的扩展名并不计较,将上述数据文件换名保存为fort.1,仍然可以如上导入、应用。文件名可以定义为m1.txt或m1.1。但是,如果将
48、文件命名为1m.txt,则显示出错信息:“Error:Missing operator(算子),comma(逗号),or semicolon(分号).”如果文件名命名为3.txt、1.txt、3.1等,则显示的是主文件名所用的数字。数据文件保存为word或wps等的文件格式同样可以引用。如果数据文件中有字母,则不能引用,显示出错信息,即使该字母在前面的指令中已经赋值也不可。如果数据文件中有算式,则不能完整显示,算式元素将仅显示第一个运算符(或关系符)前的数字。导入其他数据,如图像数据、Excel数据时,可以使用数据导入向导Import Wizard。3、通过m文件创建矩阵将矩阵建立为m文件先将
49、矩阵按创建原则写入一个m文件中,在MATLAB命令窗口或程序中直接运行该m文件(输入该m文件名),即可将矩阵调入工作空间。4、通过函数创建矩阵函数功能eye(n)产生n阶单位矩阵ones(m,n)产生mn矩阵,元素都是“1”zeros(m,n)产生mn矩阵,元素都是“0”(零矩阵)产生空矩阵指出:当某一项操作无结果时,MATLAB将返回一个空矩阵,空矩阵的大小为0,但它确实存在于工作空间,可以通过变量名访问。输入后的矩阵将保存在MATLAB工作空间中,并可以随时被访问调用,如果用户不用“clear”命令清除它,或给它重新赋值,该矩阵将一直保存在工作空间直到MATLAB关闭为止。如果矩阵函数中只
50、有一个参数,则为方阵。四种创建矩阵的方法各有优点:直接输入法方便简捷;通过数据文件创建有利于调用其他软件产生的数据;通过m文件创建是用于创建较大尺寸的矩阵并便于修改;通过函数创建可以由MATLAB内部函数创建一些特殊矩阵。5、其他构造矩阵的方法冒号法1冒号法构造向量冒号表达式的一般格式为:向量名初值:步长:终值。例4.在窗口输入x=0:0.5:2回车后显示x=00.50001.00001.50002.0000。例5.在命令窗口输入x=2:-0.5:0回车后显示x=2.00001.50001.00000.50000指出:步长可以省略,省略步长,则步长为1。步长可以为负,此时初值大于终值。向量的元