购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 MATLAB 7的工作环境

在将MATLAB安装到相应的硬盘上之后,可以启动MATLAB,查看MATLAB的工作环境。

在一般情况下,可以使用两种方法来启动MATLAB。在上面小节中,将快捷方式添加在桌面上了,因此可以双击桌面上的快捷方式图标,打开如图1.4所示的操作界面(Desktop)。

图1.4 MATLAB操作界面的默认外观

如果没有添加MATLAB的桌面快捷方式,则需要使用电脑选择路径matlab7.0\bin\win32文件夹中的MATLAB.exe应用程序,同样可以打开MATLAB的操作界面。这两种方法的结果是完全相同的。

说明

尽管使用上面两种方法都可以启动MATLAB,但是,两种方法还是有区别的。如果使用第二种方法启动MATLAB,系统会将matlab7.0\bin\win32作为一个默认的目录。因此,建议使用第一种方法来启动MATLAB。

1.3.1 操作界面简介

MATLAB 7延续了MATLAB 6.x版本的操作界面,该操作界面中包含了大量的交互性工作界面,例如:通用操作界面、工具包专用界面、帮助界面和演示界面等。这些交互性界面组合在一起,构成了MATLAB的默认操作界面。

在默认情况下,MATLAB的操作界面包含了3个最常见的界面:命令窗口、历史命令窗口和工作空间浏览器,同时,在窗口的左下角为“开始”按钮。

提示

在默认情况下,还可以在MATLAB的操作界面中看到名为“Current Directory”的交互界面选项卡。如果单击该选项卡,该交互界面就会出现。该交互界面是一个十分常用的界面:当前目录窗口。

下面详细介绍MATLAB中常见的几个交互界面。

命令窗口(Command Window): 这是MATLAB操作界面中最为重要的窗口,也是用户进行各种操作的主要窗口。在这个窗口中,可以输入各种MATLAB的命令、函数和表达式。同时,所有操作和运算的结果也会在该窗口中出现(图形结果会单独显示)。

历史命令窗口(Command History): 在默认情况下,该命令窗口出现在MATLAB操作界面的左下方。这个窗口中记录了用户已经操作过的各种命令、函数和表达式。之所以记录这些信息,主要功能有两个:方便用户回忆之前的操作,也可以方便用户对这些历史信息进行编辑(例如:复制、重运行等)。

当前目录窗口(Current Directory): 在默认情况下,该命令窗口出现在MATLAB操作界面的左上方的后台。在这个窗口中,可以设置当前目录,展示目录中的M文件或者MAT文件等,同时,可以编辑M文件等。

工作空间浏览器(Workspace Browser): 在默认情况下,该命令窗口出现在MATLAB操作界面的左上方的前台。在这个窗口中,可以查看工作空间中所有变量的类别、名称和大小。可以在这个窗口中观察、编辑和提取这些变量。

“开始”按钮(Start): 这个按钮是MATLAB 6.5版本后增加的按钮。单击这个按钮以后,会出现MATLAB的快捷菜单。这个菜单中分为两个部分,上半部分的菜单包含了各种交互界面,下半部分的菜单选项的主要功能是:窗口设置、访问MATLAB公司的网页、查看帮助文件等。

1.3.2 运行命令窗口

命令窗口(Command Window)是MATLAB的主要操作界面。关于MATLAB的大部分操作命令和结果都需要在命令窗口中进行输入和显示。本小节首先介绍命令窗口的外观特征。

由于命令窗口在默认情况下位于MATLAB操作界面的右方,可以单击命令窗口右上角的 按钮,使命令窗口脱离操作界面,得到的命令窗口如图1.5所示。

图1.5 单独的命令窗口

和MATLAB之间的版本相比,MATLAB 7命令窗口的菜单栏有了一些调整。例如,相对于MATLAB 6.5,MATLAB 7的菜单栏中增加了“Debug”和“Desktop”选项,减少了“View”选项。其中,增加“Debug”选项是为了方便用户编译M文件,“Desktop”选项则是方便用户在界面置放方式上进行调换。

从MATLAB 6.x版本以后,当MATLAB在Windows操作系统中运行时,命令窗口都会出现命令行提示符“>>”。

说明

如果希望将命令窗口嵌放回到MATLAB的操作界面中,可以选择命令窗口中的“Desktop”→“Dock Command Window”命令,也可以直接单击菜单栏中的 按钮。

1.3.3 命令窗口的显示方式

本节中将主要介绍控制命令窗口的命令和操作设置,希望读者可以全面了解MATLAB的命令系统。

在默认情况下,MATLAB 7对命令窗口中的字符或者数码设置了不同的颜色,这样会使得用户方便地查看各种信息。用户可以根据自己的需要,对命令窗口的字体风格、大小和颜色等进行自定义的设置。

在MATLAB的操作界面或者命令窗口中选择“File”→“Preferences”命令,打开“Preferences”对话框,可以在其中设置字体格式等,如图1.6所示。

图1.6 参数设置对话框

选择“Preferences”对话框左窗格中的“Fonts”选项,在右侧会显示命令窗口的字体属性。默认情况下,MATLAB将命令窗口(Command Window)、历史窗口(Command History)和M文件编辑器(Editor)中的字体设置为相同:字体类型是Monospaced,字体属性是Plain,大小为10。而将帮助导航(Help Navigator)、当前记录窗口(Current Directory)、HTML文本文字、工作空间浏览器(Workspace Browser)和内存数组编辑器(Array Editor)中的字体设置为相同:字体类型是SansSerif,字体属性是Plain,大小为10。

对于上面两种字体类型,都可以在对应选项的下拉菜单中选择新的属性,然后单击“Preferences”对话框中的“OK”按钮,完成属性的设置。

注意

修改了字体的属性之后,这些设置都将被永久保留。这些设置不会随着MATLAB的关闭或者开启而改变。但是,用户只能改变各个局部的字体属性,不能改变字体的分布设置。也就是说,可以修改命令窗口的字体属性,但是命令窗口的字体和历史窗口的字体属性永远相同。

和设置字体属性类似,可以为不同类型的变量设置颜色,以示区别。选择“Preferences”对话框左窗格的“Colors”选项,在对话框右侧会显示操作系统的字体颜色,如图1.7所示。

图1.7 设置字体颜色

在“Desktop tool colors”区域,可以设置MATLAB操作界面的工具字体颜色。默认情况下,MATLAB会使用系统字体的颜色,可以根据需要取消选中“Use system colors”复选框,然后选择字体颜色。

在对话框中部的“M-file syntax highlighting colors”区域,可以为各种类型的字符设置颜色。MATLAB提供了6种不同类型的字符:关键字、字符串、系统命令、注释、未结束的字符串和错误提示等。可以根据自己的喜好来修改这些不同类型字符的颜色。

在对话框下部的“Sample”区域,显示的是用户设置的字体样式。可以根据这个结果及时调整字体的颜色。如果对自行修改的字体颜色不满意,单击“Restore Default Colors”按钮,重新启用系统默认的字体颜色。

注意

尽管MATLAB为用户提供了十分宽松的环境来设置不同的颜色,但是,不能将不同类型的字符串设置为相同的颜色。例如,可以修改“关键字”的颜色,但是不能将“关键字”和“注释”设置成相同的颜色。

1.3.4 数值结果的显示方式

在默认情况下,命令窗口的数值结果都是以format short g的格式来显示的,可以根据计算的要求来自行设置数据结果的显示方式。

说明

上面描述的是MATLAB数值结果的显示方式,而不是数值的计算精度。MATLAB只是为了显示的简洁才采用了较少位数的显示,在实际存储和计算过程中使用的都是双精度。

表1.2显示的就是MATLAB中数值显示格式的种类、命令和含义。

表1.2 数据显示方式的常见命令

根据上面表格的介绍,可以直接在MATLAB的操作界面中输入相应的命令,查看同一个变量a的不同显示结果,如图1.8所示。

可以看出,对于同一个变量a=2.563753324578901,使用不同的格式命令会在MATLAB中显示出不同的结果。

说明

从上面的操作结果可以看出,对于数值格式的设置,如果用户使用的是格式命令,相应的设置只对当前的MATLAB命令窗口有效,一旦MATLAB窗口关闭,这些设置也会失效。系统会恢复数值的默认格式。

图1.8 设置数值的显示格式

1.3.5 命令窗口的标点符号

在MATLAB命令窗口中,不同的标点符号具有不同的运算含义,所以有必要了解各种标点符号的具体含义,灵活使用标点符号,会给运算带来很大的方便。表1.3归纳了各种常见标点符号的作用。

表1.3 MATLAB常见标点符号的功能

下面列举一些简单的例子来介绍常用标点符号的功能。

例1.1 在MATLAB中输入矩阵。

具体的输入步骤如下:

在MATLAB的命令窗口中输入下列内容:

按“Enter”键,结束输入并执行命令,得到的结果如图1.9所示。

说明

从上面的操作结果可以看出,数值矩阵可以直接输入方括号“[]”。而矩阵中的数值间隔使用的是逗号,每个数据行之间的分隔使用的是分号。最后,所有的标点都必须在英文状态下输入,MATLAB无法辨识中文的标点符号。

例1.2 在MATLAB命令窗口中输入下面的续行命令:

按“Enter”键,结束输入并执行命令,得到的结果如图1.10所示。

图1.9 输入数值矩阵

图1.10 续行输入命令行

说明

上面的案例是在MATLAB的命令窗口环境中进行的,如果在“记事本”程序中运行上面的命令,则不能使用续行号,只能让其自动换行。

例1.3 在MATLAB中进行数组点乘。

具体的操作步骤如下:

在MATLAB的命令窗口中输入下列内容:

按“Enter”键,结束输入并执行命令,得到的结果如图1.11所示。

图1.11 MATLAB中的点乘

上面的计算结果是两个数组中对应元素的乘积,例如,4=1×4;10=2×5;18=3×6。

说明

在图1.11中,首先使用注释号%引出了注释行,在下面的计算行中首先输入黑点,然后输入乘号,得到点乘的结果。如果在输入过程中没有输入黑点,MATLAB会提示计算错误,因为这两个矩阵无法相乘。

1.3.6 输入变量

在MATLAB的计算和编程过程中,变量和表达式都是最基础的元素。因此,如果需要深入学习MATLAB,十分有必要了解MATLAB关于定义变量和表达式的基本规则。

在MATLAB中,为变量定义名称需要满足下列规则:

◆ 变量名称和函数名称有大小写区别。对于变量名称NumVar和numvar,MATLAB会认为是不同的变量。exp是MATLAB内置的指数函数名称,因此,如果输入exp(0),系统会得出结果1;而如果输入EXP(0),MATLAB会显示提示信息“???Undefined command/function 'EXP'”,表明MATLAB无法识别EXP的函数名称,如图1.12所示。

图1.12 函数名称区分大小写

◆ 变量名称的第一个字符必须是英文字符。因此,5Var、_matrix等都是不合法的变量名称。MATLAB 6.5以后的版本,变量名称最多可以包含63个字符。

◆ 变量名称中不可以包含空格或者标点符号,但是可以包括下画线。因此,变量名称Num_Var是合法的,但是变量名称Num、Var则是不合法的。

提示

尽管MATLAB对于变量名称的限制较少,但还是建议用户在设置变量名称时考虑到变量的含义。例如,在M文件中,变量名称inputname就比名称a易于理解。

在变量名称规则中,并没有限制用户使用MATLAB的预定义变量名称,但是根据笔者经验,建议不要使用MATLAB预先定义的变量名称。因为,用户每次启动MATLAB,系统就会自动产生这些变量,表1.4列出了常见的预定义变量名称。

表1.4 MATLAB中的预定义变量

MATLAB没有限制用户使用这些预定义变量,可以在MATLAB的任何文件中将这些预定义变量重新定义,赋予新值,然后重新计算。下面的例子说明用户可以使用MATLAB内置的预定义变量。

例1.4 如何在MATLAB中使用预定义变量。

详细程序清单如下:

在程序清单的第一行中,用户直接输入了“pi”,可以显示系统的预定义变量pi,在默认情况下,MATLAB会以“format short g”的数值格式显示系统预先定义的数值3.1416。在后续的程序中,用户定义了变量R,然后计算周长perimeter,得到的结果是37.699。

在后面的代码中,重新定义变量pi,将其数值设置为3.50,然后重新计算周长,得到的结果是42,这就表明MATLAB已经将变量pi的值改为3.50。也就是说,MATLAB接受用户重新定义的预定义变量pi的数值。

然后使用命令clear,清除前面步骤中定义的所有变量,重新定义半径,然后再次计算周长,得到的结果是37.699。这就表明,MATLAB又将变量pi的数值重新设置为3.1416。

说明

在MATLAB的IEEE算法规则中,被0除是允许的。这不会导致任何程序的中断,只是给出警告信息,然后使用名称Inf或者NaN来记述。这些名称可以在后面的代码中得到合理运用。

1.3.7 处理复数

在一般的数学运算软件中,复数属于一般的变量。之所以在本节中单独介绍关于复数的问题,是因为在MATLAB中将复数作为一个整体处理,而不是像其他程序语言那样把实部和虚部分开处理。而复数的虚数单位用预定义变量i或者j表示。

在MATLAB中,核心处理工具是矩阵,因此需要了解复数矩阵的处理方法和普通复数单数的差别。下面利用一些简单实例来说明MATLAB如何处理复数。

例1.5 在MATLAB中输入复数 z 1 =8+10 i z 2 =12+6 i

具体的操作步骤如下:

在MATLAB的命令窗口中输入下列内容:

按“Enter”键,结束输入并执行命令,得到的结果如图1.13所示。

图1.13 在MATLAB中输入复数

在图1.13所示的操作界面中,复数z1的输入方式是直接按照书面习惯完成的,在这种书写格式中10i是一个完整的虚数部分,因此在10和i之间不允许有任何的空格。这种书写格式符合大家实际运用的习惯,但是仅限于使用在复数标量中,不能使用在复数矩阵中。

复数z2的输入方式则将虚数部分分开成6和i,同时使用乘号连接。这种方式适用于复数矩阵。但是,需要注意的是,如果可以使用第一种书写格式,尽量使用它,因为这种格式比复数z2的输入方式运算速度要快。对于大型的复数矩阵,这种运算速度差别十分明显。

例1.6 在MATLAB中输入复数矩阵并进行矩阵运算。

具体的操作步骤如下:

在MATLAB的命令窗口中输入下列内容:

按“Enter”键,结束输入并执行命令,得到的结果如图1.14所示。

图1.14 在MATLAB中输入复数矩阵

在这个例子中,使用数组方式输入了复数矩阵A,而使用数组元素方式输入复数矩阵B,这两种方式都是十分常见的输入方式,效果相同,可以根据习惯选择。从输入的繁易程度来看,第一种方法更加简单,建议使用这种方法输入复数矩阵。

说明

复数矩阵的乘法和实数矩阵的乘法计算方法是完全相同的,在例1.6中,复数矩阵A的维度是2×3,而复数矩阵B的维度是3×2,因此两个矩阵相乘得到的结果是一个2×2矩阵。

例1.7 在MATLAB中计算例1.6中复数矩阵C的实部、虚部、模和相角。

具体的操作步骤如下:

在MATLAB的命令窗口中输入下列内容:

依次输入上面的各个变量名称,按“Enter”键,结束输入并执行命令,得到的结果如图1.15所示。

说明

本例中的函数real、imag、abs、angle等都是MATLAB内置的函数,用来处理和计算复数的参量。同时,这些函数的参数都可以是数组类型,这样函数可以对数组元素逐个发生作用。

1.3.8 命令窗口的控制命令

在MATLAB的命令窗口中进行各种操作的时候,用户会经常遇到一些编辑工作,例如:清除窗口的程序语句,清除图形或者关闭MATLAB程序等。这些操作在MATLAB7中大部分都可以使用对应的菜单或者功能按钮来实现,但是,在用户编写M文件的时候,还是有必要使用这些控制命令的,因此,在本节中归纳了MATLAB的常见控制命令和对应功能,如表1.5所示。

图1.15 在MATLAB中计算复数的参量

表1.5 MATLAB中的常见控制命令

上面这些控制命令在整个MATLAB程序中都是通用的,也就是说,既可以在命令窗口中输入这些控制命令,也可以在M文件或者MAT文件的程序语句中使用这些控制命令,功能是完全相同的。例如,在命令窗口中输入clear命令,将会清除工作空间中的变量;如果在M文件中输入clear命令,也会清除变量。

说明

上面这些控制命令一直都是MATLAB中的基本通用命令,对各个版本都适用。如果使用的是MATLAB 6.x或者更低版本,都可以使用上述命令。

1.3.9 使用历史窗口

在前面已经简单介绍了历史窗口(Command History)的作用,下面将详细介绍如何合理使用MATLAB的历史窗口的功能。在MATLAB中,利用历史窗口可以验证用户即时的想法,相当于可以随时进行各种尝试和试验,边做边想。同时,MATLAB还提供了另外一个有效工具实录命令diary。下面分别进行详细介绍。

在默认的情况下,历史窗口位于MATLAB操作桌面左下方的前台,可以单击历史窗口右上方的 按钮,查看独立的历史窗口,如图1.16所示。

图1.16 历史窗口

历史窗口的菜单栏和命令窗口的菜单栏相同,如果希望将历史窗口嵌放回到MATLAB的操作界面中,可以选择历史窗口中的“Desktop”→“Dock Command Window”命令,也可以直接单击菜单栏中的 按钮。

在历史窗口中,记录着用户在MATLAB命令窗口中输入的所有命令行(除非用户人为地删除历史窗口中的记录)。一般而言,完整的历史记录包括:用户每次启动MATLAB的时间,每次启动MATLAB的所有命令行。

用户不仅能在历史窗口中查看命令窗口中运行过的所有命令行,而且可以根据需要编辑这些命令行。下面列举几个常见的编辑功能。

复制命令行: 这种编辑功能适用于使用原来的部分命令行。例如,用户需要输入新的命令行,有部分命令行和历史命令行重复,则可以在历史窗口中点亮相应的命令行,然后单击鼠标右键,在弹出的快捷菜单中选择“Copy”命令,如图1.17所示。

图1.17 复制历史命令行

复制历史命令行后,可以在命令窗口中的任何地方粘贴这些命令行,如图1.18所示。

图1.18 粘贴历史命令行

粘贴历史命令行后,可以在此之后继续输入新的命令行,这样就节省了重新输入这些命令行的时间。

说明

由于上面的操作需要在历史窗口和命令窗口中共同操作,因此需要首先将历史窗口嵌放回到MATLAB的操作界面中。

运行命令行: 这个操作的功能是运行原来输入的命令行,得到原来命令行的结果。在历史窗口中选择需要运行的历史命令行,然后单击鼠标右键,在弹出的快捷菜单中选择“Evaluate Selection”命令,如图1.19所示。

图1.19 运行历史命令行

运行历史命令行后,在命令窗口中就会显示相应的运行结果,如图1.20所示。

图1.20 运行的结果

说明

如果运行的是单行命令行,则可以直接使用鼠标左键来双击命令行;如果运行的是多行命令行,则需要按下“Ctrl”键同时选择多行命令行。

创建M文件: 可以根据需要将历史命令行编写成为M文件,在历史窗口中选择需要运行的历史命令行,然后单击鼠标右键,在弹出的快捷菜单中选择“Create M-File”命令,如图1.21所示。

图1.21 创建M文件

选择相应的菜单选项后,MATLAB就会调用M文件编辑器,并且将用户选择的历史命令行填写在M文件编辑器中,如图1.22所示。

图1.22 创建完成的M文件

说明

M文件是MATLAB的重要应用之一,在后面的章节中将详细介绍如何使用和编辑M文件。当通过历史命令行创建了M文件后,需要经过必要的操作才能得到完整的M文件。

1.3.10 使用实录命令

在MATLAB中,为用户提供了diary命令,用来创建“日志”文件。在这个“日志”文件中,记录了当前命令窗口中的所有内容,包括命令和计算结果等。文件的保存格式是ASCII码,因此需要使用“记事本”程序或者其他文本软件来阅读日志文件。

在MATLAB程序启动的前提下,首先单击操作界面中的“Current Directory”按钮旁边的浏览按钮,在打开的对话框中选择合理的路径。在后面步骤中创建的日志文件会保存在该路径中。如果用户不修改路径,MATLAB会将日志文件保存在默认的MATLAB7.0\work文件夹中。

在用户修改了保存路径后,就可以在命令窗口中输入关于实录的命令,创建日志文件。下面举例详细介绍。

例1.8 在MATLAB中创建名为“first_diary”的日志文件,并阅读该日志文件,如图1.23所示。

图1.23 创建日志文件

详细的程序清单如下:

由于没有修改保存路径,因此可以在MATLAB7.0\work路径中找到相应的日志文件,并用“记事本”程序打开该日志文件,如图1.24所示。

图1.24 阅读日志文件

说明

使用上面的方法创建的日志文件不带有扩展名,一般可以使用文本编辑器或者MATLAB的M文件编辑器来阅读和编辑该日志文件。

1.3.11 当前目录浏览器和路径管理

在MATLAB中包含大量的函数和数据库,当在命令窗口中输入命令行的时候,MATLAB如何搜索到相应的函数和数据,怎样有效地管理这些函数和数据库的路径、提高搜索的效率是本节的核心问题。

同时,在使用MATLAB的时候,会产生大量的MATLAB文件,如何管理好这些文件也是一个重要的问题。如果不能有效地管理这些文件,将会直接影响用户运行MATLAB的效率。

在MATLAB中,提供当前目录浏览器来管理各种文件。在默认的情况下,当前目录浏览器在MATLAB操作界面的左上方的后台,单击“Current Directory”选项卡,可以使目录浏览器在MATLAB的前台显示。单击目录浏览器右上方的 按钮,可以查看目录浏览器的详细外观,如图1.25所示。

图1.25 当前目录浏览器

在默认情况下,当前目录浏览器包括了菜单栏、当前目录设置区、工具菜单和文件详细列表等。其中,用户需要经常使用的是文件详细列表区域,在该区域中,可以运行或者编辑M文件,装载MAT数据文件等,如图1.26所示。

图1.26 操作和编辑M文件

上面的操作过程十分简单,用户首先在当前目录浏览器中选择相应的M文件,然后单击鼠标右键,在弹出的快捷菜单中选择对应的命令。例如,用户希望运行对应的M文件,可以选择“Run”命令;用户希望编辑该M文件,则选择“Open”命令,该M文件就会出现在M文件的编辑器中。其他的操作都可以通过在该菜单中选择对应的选项来完成。

1.3.12 设置当前目录

在默认的情况下,启动MATLAB的时候,系统会将当前目录设置为“MATLAB7.0\work”或者“MATLAB7.0\bin\win32”,这取决于用户启动MATLAB的方式,这在前面的内容中已经有了介绍。

对于“MATLAB7.0\work”这个目录路径,在该路径中存放用户的文件是允许的,而且是安全的,因此可以沿用这个默认路径;而对于“MATLAB7.0\bin\win32”这个目录路径,则不建议用户使用,如果启动MATLAB的时候产生了这个路径,建议改变这个默认的目录路径。

尽管可以沿用“MATLAB7.0\work”这个目录路径,但是根据笔者经验,为了方便用户管理各种MATLAB文件,还是建议用户创建自己的工作路径,来存放自己创建的应用文件。而将“MATLAB7.0\work”这个目录路径作为临时目录使用。

创建工作目录的方法和在Windows中创建目录的方法完全相同,读者可以参阅相应的书籍。下面建议将用户创建的工作目录设置为当前目录,这是因为在MATLAB环境中,如果不特别指明存放目录,MATLAB都会默认地将文件存放在当前目录中。如果将自己设置的工作目录设置为当前目录,就可以保证MATLAB运行的可靠和便捷。

可以在当前目录浏览器中的目录设置框中输入新的工作目录,或者单击该界面中的目录浏览按钮,选择新的工作目录,如图1.27所示。

图1.27 设置当前目录

除了上面的方法,习惯了编程的用户也可以在命令窗口中输入控制命令来修改当前目录。这种方法适用于MATLAB的各个版本,而且控制命令不仅可以在命令窗口中使用,也可以在M文件中使用,效果相同。设置当前目录的控制命令是cd,例如,用户需要将当前目录设置为D:\Study\Matlab\mfiles,对应的控制命令为cd D:\Study\Matlab\mfiles。

提示

使用上面两种方法设置的当前目录,只在当前开启的MATLAB环境中有效。如果用户重新设置MATLAB应用程序,上面的设置操作需要重新进行。

1.3.13 MATLAB的搜索路径

在MATLAB中,所有的文件都被存放在一组结构比较严谨的目录路径中。MATLAB会将这些目录按照一定的次序设置为搜索路径的各个节点。当用户运行MATLAB的时候,程序就会沿着这个设定好的路径进行搜索,查找相应的文件、函数或者具体的数据。

当MATLAB进行搜索的时候,会按照一定的次序进行,例如用户在命令窗口中输入命令:my_matlab,程序会首先在内存中搜索是否有名为my_matlab的变量,如果没有找到,则再检查my_matlab是否是内置的函数,如果没有搜索到结果,则在当前目录中检查是否有名为my_matlab的M文件,如果还是没有搜索到,则在其他目录中检查是否存在名为my_matlab的M文件。

上面的搜索过程就是MATLAB的典型搜索路径,了解这个搜索路径就可以有效地进行路径管理,提高搜索效率和MATLAB的运行效率。

如果有多个目录需要同时和MATLAB进行信息交换,应该将这些目录设置在搜索路径中,这些目录中的所有内容就都可以被MATLAB调用。或者,用户设置了某个目录来存放所有的文件和数据,这个目录也应该被设置在MATLAB的搜索路径中。

可以在MATLAB的命令窗口中输入“pathtool”命令或者选择“File”→“Set Path”命令,打开“Set Path”对话框,在其中设置路径的各个参数,如图1.28所示。

图1.28 “Set Path”对话框

在“Set Path”对话框中,单击“Add Folder”按钮,然后选择相应的路径,就可以将该路径“D:\Study\Matlab\mfiles”设置到搜索路径中。在“Set Path”对话框中,可以编辑任意一个现存的路径信息,例如,添加子文件夹、移动文件夹的位置或者删除路径等,只需单击对话框中的对应按钮。

提示

在“Set Path”对话框中,存在两种修改状态。如果在修改路径信息的时候,仅使用对话框左侧的按钮,那么这种修改行为只是当前有效;如果在修改路径信息的时候,单击了对话框中的“Save”按钮,则这种修改行为将永久有效。

除了上面的设置方法,MATLAB还提供了path命令来设置路径,这个命令对于MATLAB的各个版本都适用。例如,可以使用path命令查看MATLAB的路径信息,如图1.29所示。

图1.29 查看MATLAB的路径信息

提示

使用path命令完成的路径修改信息只在当前MATLAB的环境中有效,当重新启动MATLAB后,使用该命令完成的路径信息都将失效。

1.3.14 工作空间浏览器和数组编辑器

在默认的情况下,工作空间浏览器位于MATLAB操作界面的左上侧的后台,单击“Workspace”选项卡,可以使工作空间浏览器在MATLAB的前台显示。然后,单击工作空间浏览器右上方的 按钮,可以查看工作空间浏览器的详细外观,如图1.30所示。

和其他MATLAB组件的界面相比,工作空间浏览器的菜单栏中多了一个“Graphics”菜单项,当选中其中某个变量时,可以选择该菜单项中的子选项,很方便地绘制相应的各种图形,如图1.31所示。

图1.30 工作空间浏览器

图1.31 图形选项菜单

在图形选项菜单中,可以选择各种常见的图表类型。如果菜单选项中没有合适的图表类型,可以选择菜单中的“More Plots”选项,打开“Plot Catalog”对话框,选择合适的图表类型,如图1.32所示。

图1.32 “Plot Catalog”对话框

“Plot Catalog”对话框的左侧是图形的分类,中间表示的是图表类型,右侧则是用户选择的图表类型的描述。

说明

工作空间浏览器中的“Graphics”菜单选项是MATLAB 7中新增的,在MATLAB6.x版本中,并没有该菜单选项。

除了非常强大的图形绘制功能之外,工作空间浏览器还有其他多种应用功能,例如内存变量的查阅、保存和编辑等。所有这些操作都比较简单,只需在工作空间浏览器中选择相应的变量,然后右击鼠标,在弹出的快捷菜单中选择相应的命令,如图1.33所示。

图1.33 编辑内存变量

对变量的操作可以从菜单选项的名称看出,例如,“Rename”菜单选项表示对应的操作是重命名该变量;“Copy”菜单选项表示对应的操作是复制该变量等。

1.3.15 变量的编辑命令

在MATLAB中,用户除了可以在工作空间浏览器中编辑内存变量,还可以在MATLAB的命令窗口中输入相应的命令,来查阅和删除内存变量。下面用简单的案例来说明如何在命令窗口中对变量进行操作。

例1.9 在MATLAB命令窗口中查阅内存变量。

在命令窗口中输入who和whos命令,查看内存变量的信息,如图1.34所示。

说明

who和whos命令适用于MATLAB的各个版本,两个命令的区别只在于内存变量信息的详细程度。两个命令结果的列表次序随具体情况而不同。

图1.34 查阅内存变量的信息

例1.10 承接上面的例子,在MATLAB命令窗口中删除内存变量Desp。

在命令窗口中输入下面的命令行:

得到的结果如图1.35所示。

图1.35 删除内存变量

和前面的例子对比可以看出,当运行clear命令后,将Desp变量从工作空间删除,而且在工作空间浏览器中也将该变量删除。

说明

如果在命令窗口中直接输入clear命令,就可以删除工作空间中的所有变量;如果需要删除多个内存变量,可以在clear命令后面依次添加删除的变量名称。

1.3.16 数组编辑器

在MATLAB中,数组和矩阵都是十分重要的基础变量,因此MATLAB专门提供了数组编辑器这个工具来编辑数组。选择工作空间浏览器中任意一个数组(就是class类别为double的内存变量),然后单击工具栏中的“Open selection”按钮,或者直接双击该变量,就可以打开该变量的数组编辑器,如图1.36所示。

注意

在MATLAB中,数组编辑器只支持一维或者二维数值数组,而不支持元胞数组、构架数组、符号类数组、三维数组、字符串数组等。因此,在前面的步骤中,必须选择数值数组打开相应的数组编辑器。

在上面的步骤中,打开了变量y的数组编辑器,如图1.37所示。

图1.36 打开数组编辑器

图1.37 变量的数组编辑器

可以在数组编辑器中直接编辑该变量,对于大型数组,使用数组编辑器会给用户带来很大的便利。

1.3.17 存取数据文件

在MATLAB中,提供了Save和Load命令来实现数据文件的存取。表1.6列出了命令的常见用法。

表1.6 MATLAB的文件存取命令

表1.6中列出了几个常见的文件存取命令,可以根据需要选择对应的存取命令,对于一些比较少见的存取命令,可以查阅MATLAB的相关帮助。

说明

在表1.6的命令当中,参数Filename可以带有路径,但是不能带扩展名;x、y、z代表变量名称,个数不限,但是名称之间必须以空格来分隔;-ASCII参数表示数据将以ASCII格式来处理,生成的文件可以使用文本编辑器来编辑,一般适用于数据较多的文件;如果命令行后面没有-ASCII参数,在默认情况下,数据将以二进制格式来处理,生成以mat为扩展名的文件。

在MATLAB中,除了可以在命令窗口中输入相应的命令之外,也可以在工作空间中选择相应的按钮,来实现数据文件的存取工作。例如,可以选择工作空间浏览器中的“File”→“Save Workspace As”命令,将所有变量保存到MAT文件中,如图1.38所示。

当选择“Save Workspace As”命令后,打开“Save to MAT-File”对话框,在对话框中输入数据文件的名称,然后选择保存路径,就可以保存所有的变量。

如果需要保存部分变量,可以在工作空间浏览器中同时选择需要保存的变量,然后单击鼠标右键,在弹出的快捷菜单中选择“Save As”命令,将选择的变量保存到MAT文件中,如图1.39所示。

图1.38 保存所有的变量

图1.39 保存部分变量

说明

当选择“Save As”命令后,同样可以打开“Save to MAT-File”对话框,在对话框中输入数据文件的名称,然后选择保存路径,就可以保存所选择的变量。

在MATLAB的工作空间浏览器中,也可以加载数据。选择工作空间浏览器中的“File”→“Open”命令,打开“Open”对话框,来加载数据文件中的所有变量;同时,可以选择“File”→“Import Data”命令,打开“Open”对话框,选择需要加载的数据文件,然后单击“打开”按钮,打开“Import Wizard”对话框,从中选中希望加载的变量,如图1.40所示。

在“Import Wizard”对话框中,左窗格中是数据文件中的变量,可以在这些变量中选择需要加载的变量,右窗格则是用户所选变量的预览效果。在图1.40中,用户选择的是变量“my_array”,在右窗格中显示了该变量的预览效果。

提示

如果某些数据是经过很复杂的计算过程得到的,为了避免再次重复计算,通常会使用Save命令加以保存。如果在后面的操作中需要使用这些数据,则可以使用Load命令来加载。

图1.40 “lmport Wizard”对话框 MMxmv9l6Ziq5V6fRcFQt7RFdFbWu+0U13+a3l/oKXDVbqDwGO9bfu03TKJqlc4yf

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开