Matlab软件入门.ppt
1,MATLAB实用教程,葛广英 博士/教授E-mail:,Tel:8238036,2,程序和编程语言,1、程序的定义程序 是按照一定的逻辑进行组合的,可以使计算机完成特定功能的一组指令。在以后的学习过程中,很多时候,我们会觉得程序就是指令;同样很多时候,我们会觉得程序就是逻辑。代码、程序和软件:很多的时候,我们并不区分它们。比如我们在写那些表达我们的思想逻辑时,我们喜欢说“编程序”或“写代码”;而当程序完成,可以待价而沽时,我们称它为软件产品。,预备知识:,3,计算机系统,DOS WindowsVista Unix Linux,预备知识:,Matlab,4,机器语言:由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言。计算机发展的初期,软件工程师们只能用机器语言来编写程序。这一阶段,在人类的自然语言和计算机编程语言之间存在着巨大的鸿沟。汇编语言:将机器指令映射为一些可以被人读懂的助记符,如ADD、SUB、MOV、JMP等。此时编程语言与人类自然语言间的鸿沟略有缩小,但仍与人类的思维相差甚远。因为它的抽象层次太低,程序员需要考虑大量的机器细节。,2、语言的产生与发展,预备知识:,5,高级语言,高级语言屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定涵义的数据命名和容易理解的执行语句。这使得在书写程序时可以联系到程序所描述的具体事物。C/C+语言Matlab语言:被称为第四代高级语言,预备知识:,6,Matlab 软件的发展史,MATLAB是Matrix Laboratory的缩写发展史:(1)20世纪70年代后期,美国Cleve Moler博士讲授线性代数时,发现应用其他高级编程语言极为不便,于是与同事构思设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,既是基于Fortran语言的萌芽状态的MATLAB。(2)1984年Jonh Little、Cleve Moler、Steve Bangert合作成立了 MathWorks公司,专门从事MATLAB软件开发;此后,其内核采用C语言编写。,7,(3)1993年推出 4.0版本(4)1997年推出 5.0版本(5)2000年推出 6.0版本(6)2004年推出 7.0版本(7)2006年后推出R系列,“R+年份+代码”如今最新的是MATLAB R2010b,8,虽然MATLAB是全英文界面,但成为世界上最流行的、应用最广泛的工程计算和仿真软件.MATLAB集矩阵运算、数值分析、图形显示和仿真于一体,被广泛应用于自动控制、数学运算、计算机技术、图像信号处理、汽车工业和语音处理等行业,是国内外高校和科研部门进行科学研究的重要工具。MATLAB是一个交互式开发系统,其基本数据要素是矩阵;本课程中以MATLAB7.0为平台进行全面介绍。,9,MATLAB程序的工作方式:高级语言工作方式有解释和编译两种.,MATLAB采用解释方式。C/C+采用编译方式。,10,Matlab应用举例:,11,12,课程安排:,总学时:48 学时 其中课堂教学:32学时 实验教学:16学时(第3周开始 09级5、6、7 班单周实验)时间:周三 5-6节 地点:实验楼A区一楼A3、A4实验室,13,参考书(Reference),1.MATLAB实用教程林旭梅 葛广英主编,中国石油大学出版社2.MATLAB教程及实训 曹弋,机械工业出版社。3.MATLAB Programming for Engineers(第二版),Stephen J.Chapman著,北京:科学出版社,2005.84.精通MATLAB,葛哲学编著,北京:电子工业出版社,2008.25MATLAB7.0实用指南,苏金明、王永利编著,北京:电子工业出版社,2004.11 6MATLAB及在电子信息课程中的应用陈怀琛、吴大正、高西全编著,北京:电子工业出版社7.,14,第1章 MATLAB 软件入门,1.1 MATLAB 软件的特点1.2 MATLAB 软件的安装和启动1.3 MATLAB 软件桌面 1.4 Help帮助系统,15,1.1 MATLAB 软件的特点1.1.1 MATLAB软件的特点,MATLAB系统由:MATLAB开发环境 MATLAB语言 MATLAB数学函数库 MATLAB图形处理系统 MATLAB应用程序接口(API),16,MATLAB作为一种高效率的科学工程运算软件,与其他软件相比,有着自身的显著特点:,可视化的操作界面,结构化的程序控制语言;且支持面向对象的程序设计。丰富的运算符和强大函数库及相应的扩展工具包;支持矩阵运算和数组运算,程序编写简短,数据处理速度快效率高。内嵌的Simulink,无需大量的程序代码,即可实现对复杂系统的交互式动态建模、仿真以及综合分析。对数据处理结果,MATLAB支持多种形式的二维/三维的图形表达,图形功能强大。MATLAB支持DDE(动态数据交换)和ActiveX,扩展性能好。,17,PS:MATLAB软件共生产品,MathWorks公司开发的产品是一个庞大的系统家族,包括MATLAB产品家族、Simulink产品家族和二者的链接产品。工具箱(Toolbox)和模块集(Blockset)就是基于MATLAB/Simulink环境的。包括应用数学类、控制类、图像处理、信号处理、神经网络类等工具箱和模块集。,18,1.1.2 MATLAB 7.0的新特点,MATLAB7.0在6.5的基础上做了改善,具体如下:桌面工具和开发环境编程支持创建嵌套函数和匿名函数;支持有条件的断点设置功能;支持模块化的注释功能。数学运算 图形和3-D视图GUI构建文件I/O和外部接口性能和平台支持,19,1.2 MATLAB 软件的安装和启动1.2.1 MATLAB 7.0的安装,MATLAB支持Windows/UNIX/MacOSX 环境下的安装与运行。以Windows系统为例演示安装过程(略).,20,1.2.2 MATLAB的启动和退出,1.MATLAB的启动双击桌面上的启动快捷图标 选择“开始”“程序”“MATLAB”,或者在桌面上的图标,就可以启动MATLAB 7.0的工作界面。2.MATLAB的退出 在MATLAB的命令窗口输入“exit”命令;在MATLAB的命令窗口输入“quit”命令;直接单击MATLAB命令窗口的 按钮。,21,1.2.3 MATLAB的开发环境配置,(1).初始化工作路径设置在默认的情况下,路径$MATLABwork文件夹用于存储用户编辑的M文件;用户可以对MATLAB初始工作路径进行重新设置:“MATLAB7.0 属性”对话框中,修改其中的“起始位置”项并单击“确定”按钮即可。,22,(2)MATLAB环境选项设置 若一些信息、默认定义或程序代码需每次启动MATLAB都被击发执行,用户可以在$MATLABtoolboxlocal文件夹内创建一个startup.m文件来存储这些信息、默认定义或程序代码。,23,1.3 MATLAB 软件桌面,24,1.3.1 MATLAB主菜单及功能,1.菜单 MATLAB 还会根据不同的窗口,增加一些浮动菜单。菜单中的各项命令的功能参看表1-21-6所示。(1)File菜单;(2)Edit菜单;(3)Debug菜单;(4)Desktop菜单;(5)Windows菜单;(6)Help菜单。,25,(7)开始菜单 在MATLAB操作界面的左下角有一个按钮,是MATLAB的快捷菜单。开始菜单中显示的为现场菜单,包括交互界面窗口的列表,快捷方式和常用的子菜单项。,26,1.3.2 MATLAB命令窗口,MATLAB的命令窗口,可运行变量、函数以及M文件的脚本程序,并显示结果数据。1、命令窗口的打开:(1)默认情况下启动MATLAB时,命令窗口打开(2)若命令窗口未打开,可单击MATLAB主菜单的“Desktop”菜单项,选择其“Command Window”子菜单选项,即可打开MATLAB的命令窗体。(3)若命令窗口未打开,且用户只需简单的命令行输入界面而不需要其他的桌面工具,可点击主菜单“Desktop”菜单项,选择其下的“Desktop Layout/Command Window Only”子菜单项即可。,27,2、命令窗口的属性设置,点击MATLAB主菜单的“File/Preferences”菜单项,在弹出的Preferences对话窗口中选择“Command Window”,28,3、命令窗口的输入输出控制,数字输出格式和显示形式的控制:可通过运行format函数或设置命令窗口的Text Display属性实现。抑制输出:若在命令窗口的命令行键入声明后直接按“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/12,29,4、命令窗口的清空,若要对命令窗口的所有操作清空,可采用以下方式实现:(1)在MATLAB系统软件桌面的主菜单上,选择“Edit/Clear Command Window”菜单项。(2)在命令窗口运行clc命令。,30,1.3.3 MATLAB工作空间及文件管理,1、工作空间 工作空间是当一组命令、函数或M文件执行时所产生的所有变量和数组的集合。在命令窗口执行的所有命令共享一个工作空间,所以可共享变量。注意:MATLAB的函数都有自己的工作空间,这与MATLAB的脚本文件不同。,31,删除工作空间中的变量:(1)在工作空间浏览器内选择待删除变量或数组,然后点击右键且在弹出的快捷菜单内选择“delete”菜单项即可实现(2)在工作空间浏览器内选择待删除变量或数组,选择MATLAB主菜单上的“Edit/Delete”菜单项即可实现(3)用clear 命令来实现,其一般的应用格式为:clear var1 var2.其中,var1和var2 是要被删除的变量名。(4)命令clear variables 或clear,则用于删除所有的变量,32,2、文件管理,MATLAB一关闭,其工作空间就会失效,因此,工作空间内的变量和数组也会随之失效,所以,对工作空间有必要进行存储以备后用。1)对工作空间的存储 用save命令/函数实现存储,其一般格式是:save filename var1 var2.,33,eg.将数组以ASCII码格式存入文件test.dat,clear;%清空工作空间 a=zeros(2);c=20 7;3 10;%定义数组 save-ascii e:testMattest.dat 若将数组以M文件存储,则执行如下代码:clear;a=zeros(2);c=20 7;3 10;save e:testMattestM.mat,34,单击系统主菜单的菜单项“File/Save”或workspace浏览器窗口工具条上的保存按钮,实现对工作空间所有数组的存储。在workspace浏览器中选择待存储的数组,点击右键,在弹出的快捷菜单中选择“Save As”功能菜单,实现对选择数组的存储,35,2)对工作空间数组的载入,采用load命令/函数来实现,一般形式如下:load filename expr1 expr2.eg1.将文件e:testMattest.dat中的数据载入工作 空间,变量名默认为文件名,即:load e:testMattest.dat testeg2.将文件e:testMattestM.mat中的变量c载入工作空间,即 load e:testMattestM.mat c c,36,单击workspace浏览器窗口工具条上的文件导入按钮,选择并打开待导入的数组所在的文件,在弹出的数据导入对话窗口“Import Wizard”中,选择全部或部分待导入的数组,实现对数据文件的全部或局部数组导入到内存的操作。,37,1.4 Help帮助系统1.4.1 Help帮助导航简介,菜单或“?”按钮1.help命令 help命令可以获得MATLAB命令和M文件的帮助信息,如果知道准确的命令名称或主题词,使用help命令来查找最快捷。help 命令名称2.lookfor命令lookfor命令是在所有的帮助条目中搜索关键字,常用来查找具有某种功能而不知道准确名字的命令。lookfor topic-all,38,39,1.4.2 Demo演示Demos面板为MATLAB提供了Demo演示。获得demos演示程序的方式如下:在MATLAB软件桌面的主菜单上,选择“Help/Demos”菜单项获取demos演示程序。在MATLAB的帮助系统中,选择demos活页获取demos演示程序。在MATLAB的命令窗口,运行demo命令获取demos演示程序。,40,PS:MATLAB文件格式,常用文件类型.m、.mat、.fig、.mdl、.mex、.p。1.程序文件:程序文件即M文件(M-File),其文件的扩展名为.m。2.数据文件:数据文件即MAT文件,其文件的扩展名为.mat。3.图形文件:图形文件(Figure)的扩展名为.fig,41,4.模型文件:模型文件(Model)扩展名为.mdl,可以在“File”菜单中创建Model时生成.mdl文件。5.可执行文件:可执行文件即MEX文件,其文件的扩展名为.mex。6.项目文件:项目文件的扩展名为.prj。7.P码文件:P码文件即伪代码文件,是M文件被调用后在内存中生成的内部伪代码。,42,附录:,clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 exist 检查变量或函数是否已定义 exit 退出Matlab环境 load 从MAT文件读取变量 pwd 显示当前工作目录quit 推出Matlab 环境 save 把内存变量保存为文件 workspace 启动内存浏览器,