MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第3章

上传人:E**** 文档编号:89357008 上传时间:2019-05-23 格式:PPT 页数:43 大小:2.47MB
返回 下载 相关 举报
MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第3章_第1页
第1页 / 共43页
MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第3章_第2页
第2页 / 共43页
MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第3章_第3页
第3页 / 共43页
MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第3章_第4页
第4页 / 共43页
MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第3章_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第3章》由会员分享,可在线阅读,更多相关《MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第3章(43页珍藏版)》请在金锄头文库上搜索。

1、第3章 MATLAB的开发环境和工具,3.1 MATLAB与其他软件的接口关系 3.2 MATLAB的文件管理系统 3.3 MATLAB 6.x的开发环境,3.1 MATLAB与其他软件的接口关系 3.1.1 与磁盘操作系统的接口关系 1. 变量的存储和下载 save 命令把工作空间中的全部变量值存入磁盘,其默认的文件名是matlab.mat。第二次再用save命令时,如果仍用默认文件名,则原来文件中的数据就被冲销,所以通常都要自设文件名。如果只要把a、b、c三个变量保存在名为aa.mat的文件中,则可键入 save aa a b c mat格式用户是读不懂的。如果要保存为ASCII码格式,则

2、应再加上一个格式说明符 save aa a b c -ascii,load 是save 的逆过程,它把磁盘上存储的mat数据文件取回到MATLAB工作空间中。其默认的文件名也是matlab.mat。在不用默认文件或默认格式时,其命令格式与save 命令相仿,唯一的差别是它不能选择变量。例如load aa,它把aa.mat文件中的全部数据连同其变量名都下载到工作空间中。 格式说明符还有多种,MATLAB 6.x及5.x的默认格式与MATLAB 4.x不同。因此,在MATLAB 4. x下存入的mat格式变量不能被MATLAB 6.x直接读出,必须在读命令的后面加上特殊的格式说明-v4,例如loa

3、d aa-v4。读者在遇到此问题时可从help save或help load中寻找详细说明。 表3-1列出了MATLAB的通用命令库中的函数。,2. 工作日志的记录 diary命令可把MATLAB工作过程中的全部屏幕文字和数据以文本方式记录下来,成为一个工作记录,默认的文件名为diary。因为它是文本文件,并可由任何文字处理器来修改编辑,所以有很大的使用价值,其用法如下。 当准备做记录时,在命令窗中键入diary on或diary bbb,后者用bbb.txt为文件名。从此时开始,所有在MATLAB命令窗中出现的文字和数据都将记录在diary.txt或bbb.txt文件中。当需结束记录的过程时

4、,应键入diary off,此后的屏幕内容即不做记录。如果再次使用diaryon或diary 文件名,则新记录的内容将接在原记录的后面,不会冲销原记录。diary 文件可以用Notepad或WinWord打开阅读。,为了避免在日志文件中记录不必要的调试过程和“垃圾内容”,应该在程序调试成功、运行无误后再打开日志文件,让程序正式运行一次。有时还需先键入echo on,使得被执行的语句也在屏幕上显示并被记录到日志中去。记录中如发现有不必要的内容,可用文字处理器予以删改。diary文件不能记录MATLAB运行中生成的图形。,3. 日期和时间命令 MATLAB中的某些命令是与操作系统有内在联系的。除了

5、前面说过的它可直接应用的操作系统命令dir、delete、cd等之外,有关时间和日期方面的命令,都是从操作系统中提取数据的。这些命令见表3-2。,下面介绍如何确定做某种计算所需的时间。例如,想看看生成1个100100阶随机矩阵并作求逆运算所需的时间,可以用下列三组语句之一: (1) t0 =clock; y=inv(rand(100,100); etime(clock,t0) (2) t=cputime; y=inv(rand(100,100); cputime-t (3) tic; y=inv(rand(100,100); toc 这三种方法的差别在于: 第一种方法要先后两次提取年、月、日、

6、时、分、秒的数据,并将他们相减; 第二种方法以开机时间为基准; 第三种方法则用tic把秒表置零,求得的toc就是经历的时间。,4. 不退出MATLAB环境运行其他软件 以“!”开始的命令表示这是一个DOS操作系统的命令。可以用这个方法在不退出MATLAB环境的条件下,运行以DOS操作系统为基础的其他软件。,3.1.2 与文字处理系统Winword的关系 1. 利用剪贴板进行交互 MATLAB的程序要利用文字处理系统来编辑修改,它的运行结果(包括数据和图形)需要由图文处理系统来整理加工,因此它与Word图文处理系统有非常紧密的关系。它的命令窗中的所有文字数据及图形窗中的所有图形都可用Window

7、s的剪贴板(Clipboard)送到Word中去,并可以用Word对它们进行编辑,形成图文并茂的书面报告。,在图形窗中截取图形时,应先用鼠标拖动边缘的方法将图形窗调到需要的大小,然后用鼠标单击菜单中的【Edit】项,在【Copy Options】子项中有【Metafile】(矢量模式)和【Bitmap】(点阵模式)。通常应选【Metafile】,因为这种模式便于在Word中做进一步的缩放修改。在设定完毕后,再选定【Copy Figure】,图就放到剪贴板上去了。然后,可把这个图贴向Word的任何文本文件并在其中做进一步的编辑修改。在MATLAB中缩放可以保持图中标注文字的大小,而在Word中缩

8、放图形则使文字同比例缩放。所以,建议在MATLAB中先把图形比例取到大体合适,避免到Word中做大幅度的缩放调整。,2. 文字编辑器的使用 在MATLAB 6.x中,已经把Word中的文字编辑功能集成为MATLAB的程序编辑和调试器。在图1-2显示的命令窗中,按下最左边的图标,就会激活其程序编辑和调试器,生成图中的视窗。该视窗中的各个图标的形式和功能与Word界面的几乎完全相同,所以不必细说。它的特殊之处在于: (1) 它会用不同颜色显示MATLAB规定的保留字符(蓝)、非法字符(鲜红)、注释字符(绿)、引用字符(深红)等。 (2) 存储文件名的后缀为.m,即生成的是M文件。 (3) 当被编辑

9、的文件以function开头,即被编辑的是一个函数文件时,MATLAB编辑器会自动将存储文件名定为该程序中的函数名(见第2.6节中函数文件的命名规定)。,(4) 能对程序自动缩进排版,便于阅读和调试。选定需要排版的程序段,单击菜单项【Text】下的子项【Smart Indent】,即可完成。 (5) 它有程序调试器功能,反映在菜单项【Debug】的各子项中。,3. Notebook软件工具 Notebook是Mathworks公司开发的软件,它在Word和MATLAB两个软件系统之间搭起了一座双向接口的桥梁。当这个软件工作时,可在Word中输入含有部分MATLAB 语句的文本文件。以后只要选中

10、这些语句,再键入Ctrl-Enter,该软件就会把这些语句送给MATLAB去执行,然后把运行的结果又送回Word,并用不同的颜色显示输出和输入的不同。利用这个工具,教师可以边写教案,边检验教案中的程序语句。科技工作者也可一边写论文,一边让论文中的程序运行结果直接出现在论文中,不再需要来回剪贴了。不过要运行这个工具,必须在安装MATLAB时,把Notebook软件工具装入系统。,3.1.3 图形文件的转存 可以把MATLAB的图形文件转存为多种标准图形格式,以便用各种图形软件进行处理。存储时所用的后缀可以是各种标准图形格式的后缀,如gif、bmp、jpg等。它们可由图形窗对图形进行存储而得到。

11、在MATLAB 6.x版本中,除了用print命令外,还可用菜单操作来实现图形转存。只要单击图形窗的菜单项【File】的子菜单【Export】(导出),就会出现图3-1所示的界面。在【Save as Type】中选定存储格式,给出文件名,再单击【Save】,即可完成图形的存储。这里用【Export】 表示MATLAB把图形转储为其他软件的格式,是软件之间的接口转换。这样生成的文件不属于MATLAB文件的范畴。,图 3-1 MATLAB 6.x的图形窗及其转存(导出)界面,3.1.4 低层输入/输出函数库 MATLAB可以用save和load命令来保存和提取数据,其数据可以是mat或ASCII码

12、格式,这已在前面讲过。但这只适合于MATLAB环境自身。作为一种科学计算软件,与其他软件系统进行直接的(没有人参与的)数据交换是十分重要的,它可以避免人为差错和运行低效。通过输入输出文件进行数据交换是有效的方法之一。因为几乎任何算法语言都有有限的几种输入输出文件格式(例如二进制格式和ASCII码字符格式),MATLAB可以用这几种格式进行读写,也就保证了它可以在这一级上与其他语言相连接。例如,将其他软件产生的或仪器测量的数据自动读入MATLAB,再进行分析处理并绘成图形输出等。读不同格式的文件要用不同的命令,这个库中的命令见表3-3。,如果要在一个二进制文件aaa.bin中写入工作空间中的变量

13、x,则其程序为如下两条语句: fid1=fopen(aaa.bin,r+); %打开aaa.bin,r+表示可读可写,fid1为文件标识 N=fwrite(fid1,x,float) %将x以float(浮点)格式写入fid1文件,返回实际写入的元素数N 从数据文件读出变量是一个逆过程。例如,要从aaa.bin读入二进制数据并将它赋值给A,程序可编写如下: frewind(fid1) fid1=fopen(aaa.bin,r+); A=fread(fid1,5,5,float),注意到这个程序比写入时多了第一行,因为文件的读写犹如磁带,写入以后必须倒带才能重放,要先键入倒带命令frewind

14、(fid1),而第三句表示将fid1文件中的前25个数据以float (浮点)格式读出,列成55阶矩阵,赋予变量A。如果以后还有从fid1文件读出的语句,就将从第26个数据开始。,输入输出的格式必须相同。MATLAB内部本来只有一种双精度格式,现在要变换为其他语言中的多种数据类型,所以会很不适应。读者应在学了C语言或其他语言后再来理解本节。库 中每个命令的具体用法可参看help文本,此处不多占篇幅。 在进行音频信号或图像处理时,需要与声音文件及图像文件接口。MATLAB也提供了相应的命令,可参看表3-3。,在MATLAB中还有动态数据交换的函数库(dde)。利用它可以不经过“文件”这个中间环节

15、而直接在运行MATLAB的计算机和运行其他软件的计算机之间通过网络进行数据交换,使MATLAB与其他软件平台之间的双向调用成为可能。这个函数库中的内容见 表3-4。,3.1.5 与C和FORTRAN子程序的动态链接 MATLAB本身是用C语言编写的,它的丰富的科学计算子程序库中的许多经典部分来自久经考验的FORTRAN程序库。它可以直接调用经过一定处理的C和FORTRAN 可执行文件,因而使执行这些子程序的速度与C语言及FORTRAN语言相同。这些可执行文件就是后缀为mex的文件。除了MATLAB中已有的mex文件外,用户也可把自己找到的其他可执行文件加入系统中。 MATLAB高级工具箱中还有

16、C编译器,可把MATLAB语言编写的子程序编译成C语言程序,以提高它的运行速度,并可与一些芯片级的代码建立无缝连接。MATLAB 6.x是用Java语言扩展的,这为它今后充分利用Java的功能创造了有利条件。,3.2 MATLAB的文件管理系统 3.2.1 安装后的MATLAB文件管理系统 用光盘来安装MATLAB软件,不管版本有何差别,其过程和其他软件相仿,此处从简。安装后的MATLAB根目录(通常表示为MATLABroot)下,至少有bin、extern、help、toolbox这四个子目录,其中子目录bin包含了MATLAB所要用到的二进制文件。启动MATLAB的执行文件matlab.exe就在这个目录中,双击这个文件就可以启动MATLAB 软件。子目录extern包含了MATLAB所要用到的外部文件。子目录help包含了MATLAB的各种帮助文件,如果有下一级子目录pdf-doc,则其中将包括MATLAB及其工具箱的说明书,那是十分有用的资料。子目录toolbox包含了MATLAB的各种函数库及已装入的作为下一级子目录的工具箱名称等

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号