MATLAB实用教程牛慧娟E-mail:supernhj@lcu.edu.cnTel:8231236-4-2024-50500.51计算机系统裸机操作系统应用软件1.DOS2.Windows3.Vista4.Linux预备知识:Matlab程序和编程语言1、程序的定义程序是按照一定的逻辑进行组合的,可以使计算机完成特定功能的一组指令。代码、程序和软件:我们在写那些表达我们的思想逻辑时,喜欢说“编程序”或“写代码”;而当程序完成,可以待价而沽时,我们称它为软件产品。很多的时候,我们并不区分它们。预备知识:机器语言:由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言。计算机发展的初期,软件工程师们只能用机器语言来编写程序。这一阶段,在人类的自然语言和计算机编程语言之间存在着巨大的鸿沟。汇编语言:将机器指令映射为一些可以被人读懂的助记符,如ADD、SUB、MOV、JMP等。此时编程语言与人类自然语言间的鸿沟略有缩小,但仍与人类的思维相差甚远。因为它的抽象层次太低,程序员需要考虑大量的机器细节。2、语言的产生与发展预备知识:高级语言高级语言屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定涵义的数据命名和容易理解的执行语句。这使得在书写程序时可以联系到程序所描述的具体事物。Matlab语言:被称为第四代高级语言高级语言工作方式有解释和编译两种,MATLAB采用解释方式。预备知识:Matlab软件的发展史MATLAB是MatrixLaboratory的缩写发展史:(1)20世纪70年代后期,美国CleveMoler博士讲授线形代数时,发现应用其他高级编程语言编程进行计算极为不便,于是与同事基于Fortran语言构思设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,即是萌芽状态的MATLAB。(2)1984年JonhLittle、CleveMoler、SteveBangert合作成立了MathWorks公司,专门从事MATLAB软件开发;此后,其内核采用C语言编写。(3)1992年推出MATLAB1.0(4)1993年推出MATLAB4.0,微机版,Simulink(5)1997年推出MATLAB5.0(6)2000年推出MATLAB6.0(7)2004年推出MATLAB7.0,即Simulink6.0(8)2006年后推出R系列,每年更新两次命名规则:“R+年份+代码”如今最新的是MATLABR2012b虽然MATLAB是全英文界面,但成为世界上最流行的、应用最广泛的工程计算和仿真软件.MATLAB集矩阵运算、数值分析、图形显示和仿真于一体,被广泛应用于自动控制、数学运算、计算机技术、图像信号处理、汽车工业和语音处理等行业,是国内外高校和科研部门进行科学研究的重要工具。MATLAB是一个交互式开发系统,本课程中以MATLAB7.0为平台进行全面介绍。Matlab应用举例:-101-1010510xThree-DimensionalLinePlotytime-1-0.500.51-1-0.500.51Two-DimensionalLinePlotxy-4-2024-50500.51xyz-4-2024-50500.51课程安排总学时:48学时课堂教学:32学时实验教学:16学时时间:第3-17周单周地点:实验楼一楼3、4班周二3、4节;A-2(11周A-3,A-7)13、14班周一7、8节;A-2(11周A-3,A-7)5、15班周五1、2节;5班B106,15班B104参考书(Reference)1.《MATLAB教程及实训》曹弋,机械工业出版社。2.《MATLABProgrammingforEngineers》(第二版),StephenJ.Chapman著,北京:科学出版社,2007.13.《精通MATLAB》,葛哲学编著,北京:电子工业出版社,2008.24.《MATLAB7.0实用指南》,苏金明、王永利编著,北京:电子工业出版社,2004.115.软件入门1.1MATLAB软件的特点1.2MATLAB软件的安装和启动1.3MATLAB软件桌面1.4Help帮助系统1.1MATLAB软件的特点1.1.1MATLAB软件的特点MATLAB系统包括:MATLAB开发环境MATLAB语言MATLAB数学函数库MATLAB图形处理系统MATLAB应用程序接口(API)MATLAB作为一种高效率的科学工程运算软件,与其他软件相比,有着自身的显著特点:可视化的操作界面,结构化的程序控制语言;且支持面向对象的程序设计。丰富的运算符和强大函数库及相应的扩展工具包;支持矩阵运算和数组运算,程序编写简短,数据处理速度快效率高。内嵌的Simulink,无需大量的程序代码,即可实现对复杂系统的交互式动态建模、仿真以及综合分析。对数据处理结果,MATLAB支持多种形式的二维/三维的图形表达,图形功能强大。MATLAB支持DDE和ActiveX,扩展性能好。PS:MATLAB软件共生产品MathWorks公司开发的产品是一个庞大的系统家族,包括MATLAB产品家族、Simulink产品家族和二者的链接产品。工具箱(Toolbox)和模块集(Blockset)就是基于MATLAB/Simulink环境的。包括应用数学类、控制类、图像处理、信号处理、神经网络类等工具箱和模块集。MATLABSIMULINKStateflowBlocksetsToolboxesMathWorks的产品体系1.1.2MATLAB7.0的新特点MATLAB7.0在6.5的基础上做了改善,具体如下:桌面工具和开发环境编程支持创建嵌套函数和匿名函数;支持有条件的断点设置功能;支持模块化的注释功能。数学运算图形和3-D视图GUI构建文件I/O和外部接口性能和平台支持1.2MATLAB软件的安装和启动1.2.1MATLAB7.0的安装MATLAB支持Windows/UNIX/MacOSX环境下的安装与运行。以Windows系统为例演示安装过程(略).1.2.2MATLAB的启动和退出1.MATLAB的启动双击桌面上的快捷图标选择“开始”→“程序”→“MATLAB”,或者在桌面上的图标,就可以启动MATLAB7.0的工作界面。2.MATLAB的退出在MATLAB的命令窗口输入“exit”命令;在MATLAB的命令窗口输入“quit”命令;直接单击MATLAB命令窗口的按钮。1.2.3MATLAB的开发环境配置(1)初始化工作路径设置在默认的情况下,路径C:\MATLAB\work文件夹用于存储用户编辑的M文件;用户可以对MATLAB初始工作路径进行重新设置:“MATLAB7.0属性”对话框中,修改其中的“起始位置”项并单击“确定”按钮即可。(2)MATLAB环境选项设置若一些信息、默认定义或程序代码需每次启动MATLAB都被激发执行,用户可以在$MATLAB\toolbox\local文件夹内创建一个startup.m文件来存储这些信息、默认定义或程序代码。历史命令窗口工作空间窗口/当前目录浏览器窗口开始按钮命令窗口MATLAB菜单MATLAB工具栏1.3MATLAB软件桌面1.3.1MATLAB主菜单及功能1.菜单MATLAB还会根据不同的窗口,增加一些浮动菜单。菜单中的各项命令的功能参看表1-2~1-6所示。(1)File菜单;(2)Edit菜单;(3)Debug菜单;(4)Desktop菜单;(5)Windows菜单;(6)Help菜单。(7)开始菜单在MATLAB操作界面的左下角有一个按钮,是MATLAB的快捷菜单。开始菜单中显示的为现场菜单,包括交互界面窗口的列表,快捷方式和常用的子菜单项。1.3.2MATLAB命令窗口MATLAB的命令窗口,可运行变量、函数以及脚本文件,并显示结果数据。1、命令窗口的打开:(1)默认情况下启动MATLAB时,命令窗口打开(2)若命令窗口未打开,可单击MATLAB主菜单的“Desktop”菜单项,选择其“CommandWindow”子菜单选项,即可打开MATLAB的命令窗体。(3)若命令窗口未打开,且用户只需简单的命令行输入界面而不需要其他的桌面工具,可点击主菜单“Desktop”菜单项,选择其下的“DesktopLayout/CommandWindowOnly”子菜单项即可。2、命令窗口的属性设置点击MATLAB主菜单的“File/Preferences”菜单项,在弹出的Preferences对话窗口中选择“CommandWindow”3、命令窗口的输入输出控制数字输出格式和显示形式的控制:可通过运行format函数或设置命令窗口的TextDisplay属性实现。抑制输出:若在命令窗口的命令行键入声明后直接按“Enter”键,会在命令窗体直接显示结果数据。但当编制一个大程序时,中间结果往往不需要步步显示,此时,可以用分号操作“;”来实现程序的运行但不会在换行后直接显示中间结果,如a=zeros(5);若语句较长,一行写不完,需要两行或更多行时,则可以用“…”做连接符(注意:前面有一个空格),如:b=1-1/2+1/3-1/4+1/5-1/6+1/7...-1/8+1/9-1/10+1/11-1/124、命令窗口的清空若要对命令窗口的所有操作清空,可采用以下方式实现:(1)在MATLAB系统软件桌面的主菜单上,选择“Edit/ClearCommandWindow”菜单项。(2)在命令窗口运行clc命令。1.3.3MATLAB工作空间及文件管理1、工作空间MATLAB基本工作空间是当一组命令或M脚本文件执行时内存中所产生的所有变量和数组的集合。在命令窗口执行的所有命令共享一个工作空间,所以可共享变量。注意:MATLAB的函数都有自己独立的函数工作空间。工作空间浏览器数组编辑器浏览或编辑数组各元素值删除工作空间中的变量:(1)在工作空间浏览器内选择待删除变量或数组,然后点击右键且在弹出的快捷菜单内选择“delete”菜单项即可实现(2)在工作空间浏览器内选择待删除变量或数组,选择MATLAB主菜单上的“Edit/Delete”菜单项即可实现(3)用clear命令来实现,其一般的应用格式为:clearvar1var2...其中,var1和var2是要被删除的变量名。(4)命令clearvariables或clear,则用于删除所有的变量2、文件管理MATLAB一关闭,其工作空间就会失效,因此,工作空间内的变量和数组也会随之失效,所以,对工作空间有必要进行存储以备后用。1)对工作空间数据的存储用save命令/函数实现存储,其一般格式是:savefilenamevar1var2...eg.将数组以ASCII码格式存入文件test.dat,clear;%清空工作空间a=zeros(2);c=[207;310];%定义数组save-asciie:\testMat\test.dat若将上述数组以mat文件存储,则执行如下代码:savee:\testMat\testM.mat若只存储其中的a或c变量,则:savee:\testMat\testM.mata(savee:\testMat\testM.matc)菜单操作:1.单击系统主菜单的菜单项“File/Save”或workspace浏览器窗口工具条上的保存按钮,实现对工作空间所有数组的存储。2.在workspace浏览器中选择待存储的数组,点击右键,在弹出的快捷菜单中选择“SaveAs”功能菜单,实现对选择数组的存储。2)对工作空间数据的载入将已保存的变量加载到当前工作空间中,用load命令/函数来实现,一般形式如下:loadfilename-regexpexpr1expr2...eg1.将文件e:\testMat\test.dat中