《第三章 MATLAB开发环境与工具.ppt》由会员分享,可在线阅读,更多相关《第三章 MATLAB开发环境与工具.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA第三章第三章 MATLAB的开发环境和工具的开发环境和工具College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINAMATLAB的操作环境的操作环境 便于开发并与其他软件、硬件进行交互通信,这是便于开发并与其他软件、硬件进行交互通信,这是MATLAB语言在语法与编程高效简洁之外的另一大优语言在语法与编程高效简洁之外的另一大优点。点。程序设计与平台无关,使之可在多种计算机型和操作程序设计与平台无关,使之可在多种计
2、算机型和操作系统下运行;系统下运行;能够与一些重要的图形、文字编辑器进行交互,将计能够与一些重要的图形、文字编辑器进行交互,将计算结果方便地组织成图文并茂的文章;算结果方便地组织成图文并茂的文章;MATLAB3.X之后,版本的升级主要集中在工具箱的扩之后,版本的升级主要集中在工具箱的扩展和开发环境的改善。展和开发环境的改善。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.1 MATLAB与其他软件的接口与其他软件的接口3.1.1 与磁盘操作系统的接口关系与磁盘操作系统的接口关系1、变量的存储与下载、变量的存储与下载s
3、ave:将工作空间的变量存入磁盘,:将工作空间的变量存入磁盘,load:将磁盘上存储的数据文件取回到:将磁盘上存储的数据文件取回到MATLAB工工作空间中。作空间中。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA Use the functional form of SAVE,such as SAVE(filename,var1,var2),when the filename or variable names are stored in strings.See also LOAD,DIARY,FWRITE,FPRIN
4、TF,UISAVE,FILEFORMATS.College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINAa=1b=2:5c=magic(3)saveSaving to:matlab.matsave aa a b csave aa a b c-asciisave ac-do a b c-ascii-doublesave ac-ta a b c-ascii-tabsCollege of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINAload:load是是save的的逆逆过过程程,将将
5、磁磁盘盘是是存存储储的的数数据据文文件件取取回到工作空间中。回到工作空间中。load与与save唯唯一一差差别别是是它它不不能能选选择择某某一一个个文文件件中中的的变变量量,只只能能将将文文件件中中的的全全部部数数据据及及变变量量名名都都下下载载到工作空间中。到工作空间中。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA2.工作日志的记录:工作日志的记录:diary功功能能:将将MATLAB工工作作过过程程的的全全部部屏屏幕幕文文字字和和数数据据以以文文件件方方式式记记录录下下来来,成成为为一一个个工工作作记记录录,默默
6、认认文文件件名名是是diary。格格式式是是文文本本文文件件,可可由由任任何何文文字字处处理理软件打开和修改。软件打开和修改。diary不能记录不能记录MATLAB运行过程中生成的图形。运行过程中生成的图形。diary ondiary.txtdiary diadia.txtCollege of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINAdiary off:结果记录过程;:结果记录过程;如再次使用如再次使用diary on或或diary filename,新记录,新记录的内容将接在原记录的后面,而不冲掉原记录。的内容将接在原记录的后面,而
7、不冲掉原记录。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.日期与时间命令日期与时间命令日期与时间的相关数据,都是从操作系统中提取。日期与时间的相关数据,都是从操作系统中提取。例:计算一个例:计算一个100100的矩的矩阵阵的求逆运算的的求逆运算的时间时间。t0=clock,y=inv(rand(100,100);etime(clock,t0)t=cputime,y=inv(rand(100,100);cputime-ttic,y=inv(rand(100,100);tocCollege of Physics Sc
8、ience&TechnologyYANGZHOU UNIVERSITYCHINA4.不退出不退出MATLAB环境运行其他软件环境运行其他软件以以!开头的命令表示这是一个开头的命令表示这是一个dos操作系统的命令。操作系统的命令。如如!dirCollege of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.1.2 与文字处理系统与文字处理系统winword的关系的关系1.利用剪贴板进行交互利用剪贴板进行交互文字文字图形:图形选项图形:图形选项College of Physics Science&TechnologyYANGZHOU UN
9、IVERSITYCHINA2.文字编辑器的使用文字编辑器的使用保留字:蓝色;非法字符:鲜红,注释:绿色,保留字:蓝色;非法字符:鲜红,注释:绿色,引用字符:深红引用字符:深红文件扩展名为文件扩展名为.m编辑函数文件编辑函数文件(以以function开头开头)时,将存储文件名时,将存储文件名定义为该程序的函数名;定义为该程序的函数名;自动缩进排版,便于阅读与调试自动缩进排版,便于阅读与调试菜单项菜单项Debug的各子项提供了程序调试功能。的各子项提供了程序调试功能。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.1.3
10、 图形文件的转储图形文件的转储 可选择不同的图形格式,并导出图形,实现可选择不同的图形格式,并导出图形,实现与其他软件间的接口转换。这些图形不再属于与其他软件间的接口转换。这些图形不再属于MATLAB文件。文件。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.1.4 低层输入输出函数库低层输入输出函数库科学计算软件与其它软件系统进行直接的数据交换科学计算软件与其它软件系统进行直接的数据交换是十分重要的,这样才能避免人为差错,提高运行是十分重要的,这样才能避免人为差错,提高运行效率。效率。输入输出文件:提供一种有效地数
11、据交换方法。输入输出文件:提供一种有效地数据交换方法。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA例:在一个二进制文件例:在一个二进制文件aaa.bin中写入空间变量中写入空间变量xfidl=fopen(aaa.bin,r+)%打开打开aaa.bin文件,文件,r+表示可读可写,表示可读可写,didl为文件标识。为文件标识。N=fwrite(fidl,x,float)%将将x以以float格式写入格式写入fidl文件,返回实际写入的元素个数文件,返回实际写入的元素个数N。College of Physics Scie
12、nce&TechnologyYANGZHOU UNIVERSITYCHINA例:在一个二进制文件例:在一个二进制文件aaa.bin中写入空间变量中写入空间变量xfidl=fopen(aaa.bin,r+)%打开打开aaa.bin文件,文件,r+表示可读可写,表示可读可写,didl为文件标识。为文件标识。N=fwrite(fidl,x,float)%将将x以以float格式写入格式写入fidl文件,返回实际写入的元素个数文件,返回实际写入的元素个数N。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA从从aaa.bin读入一
13、个二进制数,并将它赋值给读入一个二进制数,并将它赋值给A:frewind(fidl)fidl=fopen(aaa.bin,r+);%打开打开aaa.bin文件,文件,r+表示可读可写,表示可读可写,didl为文件标识。为文件标识。A=fread(fidl,5,5,float)%将将fidl中的前中的前25个数以个数以float格式读出,列成格式读出,列成5*5矩阵,并赋值给矩阵,并赋值给A。frewind(fidl):倒带命令。文件读写犹如磁带,写入后必:倒带命令。文件读写犹如磁带,写入后必须倒带才能重放。须倒带才能重放。College of Physics Science&Technolog
14、yYANGZHOU UNIVERSITYCHINAMATLAB还提供:还提供:音频信号接口命令音频信号接口命令图像信号接口命令图像信号接口命令动态数据交换函数库动态数据交换函数库College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.1.5 MATLAB与与C和和FORTRAN子程序的动态链接:子程序的动态链接:MATLAB本身是用本身是用C语言编写的;语言编写的;科科学学计计算算子子程程序序库库中中的的许许多多经经典典部部分分来来自自FORTRAN程序库。程序库。MATLAB可可以以直直接接调调用用经经过过一一定定处处理理
15、的的C语语言言和和FORTRAN可可执执行行文文件件,使使执执行行这这些些子子程程序序的的速速度度与与C语语言言的的FORTRAN语语言言相相同同,这这些些可可执执行行文文件件的的后后缀缀为为mex。除除MATLAB已已有有的的mex文文件件,用用户户还还可可以以将其它的将其它的mex文件加入系统。文件加入系统。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.2 MATLAB的文件管理系统的文件管理系统3.2.1 安装后的安装后的MATLAB文件管理系统:文件管理系统:至少包括至少包括4个文件夹:个文件夹:bin:程
16、序所用的二进制文件,包括:程序所用的二进制文件,包括matlab.exe(MATLAB6.5在在binwin32目录中目录中)extern:外部文件:外部文件help:各种帮助文件;:各种帮助文件;(helppdf_doc下为下为MATLAB及其工具箱的说明书及其工具箱的说明书)College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINAtoolbox:MATLAB的各种函数库,其下一级子的各种函数库,其下一级子目录为其中的各种工具箱目录为其中的各种工具箱(目录名就是工具箱的名称目录名就是工具箱的名称);通常在通常在MATLAB根目
17、录下,还有一个用户自己的根目录下,还有一个用户自己的子目录,子目录,user或或work,用来存放用户自编的应用程,用来存放用户自编的应用程序。序。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.2.2 MATLAB自身的用户文件格式自身的用户文件格式 程序文件:程序文件:M文件文件(后缀为后缀为.m),各个工具箱的函数,各个工具箱的函数,也多为也多为M文件;文件;数据文件:后缀为数据文件:后缀为.mat(由由save命令生成命令生成);可执行文件:后缀为可执行文件:后缀为.mex,由编译器对,由编译器对M文件编译文
18、件编译生成,运行速度远高于直接执行生成,运行速度远高于直接执行M文件。文件。模型文件模型文件(.mdl)和仿真文件和仿真文件(.s):用:用simulink工具工具箱生成。箱生成。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.2.3 文件管理和搜索路径文件管理和搜索路径搜索路径:确定搜索路径:确定MATLAB管理的文件范围。由启管理的文件范围。由启动文件动文件toolboxlocalmatlabrc.m规定。规定。type matlabrc.m if exist(pathdef,file)matlabpath(pa
19、thdef);end College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINApathdef.m中的路径要列到最底层子目录;中的路径要列到最底层子目录;整个计算机系统中的任何一个底层文件夹,都可整个计算机系统中的任何一个底层文件夹,都可以列入以列入MATLAB的搜索路径;这时,这些文件的搜索路径;这时,这些文件夹中的文件都可以被夹中的文件都可以被MATLAB执行;相反,如执行;相反,如果程序不在搜索路径中,即使是在果程序不在搜索路径中,即使是在MATLAB的的目录下,也不能被执行。目录下,也不能被执行。College of Ph
20、ysics Science&TechnologyYANGZHOU UNIVERSITYCHINA在在MATLAB 6.x中增加了搜索、设置路径的中增加了搜索、设置路径的对话框。对话框。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.2.4 与目录和搜索有关的命令:与目录和搜索有关的命令:1.dir DIR List directory.DIR directory_name lists the files in a directory.Pathnames and wildcards may be used.For ex
21、ample,DIR*.m lists all the M-files in the current directory.D=DIR(directory_name)returns the results in an M-by-1 structure with the fields:name -filename date -modification date bytes-number of bytes allocated to the file isdir-1 if name is a directory and 0 if notCollege of Physics Science&Technol
22、ogyYANGZHOU UNIVERSITYCHINA2.CD:Change current working directory.CD directory-spec sets the current directory to the one specified.CD.moves to the directory above the current one.CD,by itself,prints out the current directory.WD=CD returns the current directory as a string.College of Physics Science&
23、TechnologyYANGZHOU UNIVERSITYCHINA3.delete:DELETE Delete file or graphics object.DELETE file_name deletes the named file from disk.Wildcards may be used.For example,DELETE*.p deletes all P-files from the current directory.Use the functional form of DELETE,such as DELETE(file)when the file name is st
24、ored in a string.DELETE(H)deletes the graphics object with handle H.If the object is a window,the window is closed and deleted without confirmation.College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA4.MKDIR Make new directory.SUCCESS,MESSAGE,MESSAGEID=MKDIR(PARENTDIR,NEWDIR)makes a new dir
25、ectory,NEWDIR,under the parent,PARENTDIR.While PARENTDIR may be an absolute path,NEWDIR must be a relative path.When NEWDIR exists,MKDIR returns SUCCESS=1 and issues to the user a warning that the directory already exists.College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA5.COPYFILE:Copy f
26、ile or directory.SUCCESS,MESSAGE,MESSAGEID=COPYFILE(SOURCE,DESTINATION,MODE)copies the file or directory SOURCE to the new file or directory DESTINATION.Both SOURCE and DESTINATION may be either an absolute pathname or a pathname relative to the current directory.When the MODE is set,COPYFILE copies
27、 SOURCE to DESTINATION,even when DESTINATION is read-only.The DESTINATIONs writable attribute state is preserved.See NOTE 1.College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA6.WHAT List MATLAB-specific files in directory.The command WHAT,by itself,lists the MATLAB specific files found in
28、the current working directory.Most data files and other non-MATLAB files are not listed.Use DIR to get a list of everything.The command WHAT DIRNAME lists the files in directory dirname on the MATLABPATH.It is not necessary to give the full path name of the directory;a MATLABPATH relative partial pa
29、thname can be specified instead(see PARTIALPATH).For example,what general and what matlab/general both list the M-files in directory toolbox/matlab/general.College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA W=WHAT(directory)returns the results of WHAT in a structure array with the fields:
30、path -path to directory m -cell array of m-file names.mat -cell array of mat-file names.mex -cell array of mex-file names.mdl -cell array of mdl-file names.p -cell array of p-file names.classes-cell array of class names.College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA 7.WHICH Locate fun
31、ctions and files.WHICH FUN displays the full pathname of the function with the name FUN.Variables in the workspace,built-in functions,loaded Simulink models,or methods in Java classes display a message indicating that FUN is a variable,built-in function,a Simulink model,or a method in one or more Ja
32、va classes.WHICH only finds the methods of those Java classes that are on the classpath.College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA8.LOOKFOR Search all M-files for keyword.LOOKFOR XYZ looks for the string XYZ in the first comment line(the H1 line)of the HELP text in all M-files fou
33、nd on MATLABPATH.For all files in which a match occurs,LOOKFOR displays the H1 line.College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.2.5 搜索顺序搜索顺序MATLAB在执行程序时,将字符串按以下顺序在执行程序时,将字符串按以下顺序与已有记录相比较:与已有记录相比较:工作空工作空间的变间的变量名量名内部固内部固有的变有的变量名量名mex文件文件名名M文件文件名名用户在定义变量名和程序名时,要避免与用户在定义变量名和程序名时,要避免与M
34、ATLAB的内部变量与函数重名。的内部变量与函数重名。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA3.3 MATLAB的开发环境的开发环境3.3.1 桌面系统的内容桌面系统的内容MATLAB6.x将多种开发工具集成为将多种开发工具集成为MATLAB桌桌面系统,该系统由桌面平台及组件组成。包括面系统,该系统由桌面平台及组件组成。包括8个组成部分。个组成部分。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA1.命令窗口命令窗口(Command Wi
35、ndow)2.历历史史命命令令窗窗口口(Command History):记记录录并并显显示示本本次次工作进程中曾输入的全部行命令。工作进程中曾输入的全部行命令。3.资资源源目目录录本本(Launch Pad):收收集集所所有有的的MATLAB产产品品说说明明、演演示示以以及及帮帮助助信信息息的的目目录录,以以便便用用户户调调用用查查阅。阅。4.当当前前路路径径浏浏览览器器(Current Directory):显显示示系系统统当当前前目目录录下下的的MATLAB文文件件信信息息,包包括括文文件件名名,文文件件类类型,最后修改以及文件的说明信息。型,最后修改以及文件的说明信息。College of Physics Science&TechnologyYANGZHOU UNIVERSITYCHINA5.帮帮助助浏浏览览器器(Help Browser):显显示示帮帮助助信信息息,用用户户还可以加入自己的注解,形成帮助信息。还可以加入自己的注解,形成帮助信息。6.工工作作空空间间浏浏览览器器(Workspace Browser):显显示示所所有有目目前前保保存存在在内内存存中中的的变变量量的的名名称称,数数学学结结构构,字字节节数数和和类型。类型。7.数组编辑器数组编辑器(Array Editor):8.程序编辑调试器程序编辑调试器(Editor Debugger):