若又想计算y2?2cos(0.3?)1?5,用户当然可以像前一个算例那样,通过键盘把相应字
符一个一个“敲入”。但也可以较方便地用操作键获得该指令,具体办法是:先用 [?] 键调回已输入过的指令 y1=2*sin(0.3*pi)/(1+sqrt(5)) ;然后移动光标,把y1改成y2;把 sin 改成 cos ;再按 [Enter] 键,就可得到结果。即
y2=2*cos(0.3*pi)/(1+sqrt(5))
y2 =
0.3633
〖说明〗
? 可以借助“历史指令窗”进行历史指令的再运行,相关内容请看第1.5.1节。
1.5 Command History历史指令窗
MATLAB所拥有的丰富资源和友善灵活的环境特别适于用来验证一些思想,思考一些问题,和帮助进行创造性思维。用户可以在MATLAB环境中,边想边做,做做想想,对随时蹦出的思想“火花”可即刻通过计算加以验证。历史指令窗(Command History)就是为这种应用方式设计的。
1.5.1 Command History历史指令窗简介
历史指令窗记录着:每次开启MATLAB的时间,及开启MATLAB后在指令窗中运行过的所有指令行。 该窗不但能清楚地显示指令窗中运行过的所有指令行,而且所有这些被记录的指令行都能被复制,或再运行。关于历史指令窗的功能详见表1.5-1。
表1.5-1 历史指令窗主要应用功能的操作方法 应 用 功 能 操 作 方 法 简捷操作方法 单行或多行指令点亮单行或多行指令;按鼠标右键引出现场菜单;选 的复制 中{Copy}菜单项,即可用复合键 [Ctrl + V] 把它“粘贴”到任何地方(包括指令窗)。 单行指令的运行 点亮单行指令;按鼠标右键引出现场菜单;选中鼠标左键双击{Evaluate Selection} 菜单项,即可在指令窗中运行,并单行指令。 见到相应结果。 多行指令的运行 点亮多行指令;按鼠标右键引出现场菜单;选中 {Evaluate Selection} 菜单项,即可在指令窗中运行,并见到相应结果。(详见例1.5-1) 把多行指令写成点亮多行指令;按鼠标右键引出现场菜单;选中 {Create M文件 M-File} 菜单项,就引出书写着这些指令的M文件编辑调试器;再进行相应操作,即可得所需M文件。 1.5.2 历史指令的再运行
历史指令的重新调用,既可以采用第1.4.4节所介绍的方法实现,也可以借助历史指令窗进行。在许多场合,后者显得更为方便、直观。
【例1.5-1】演示如何再运行算例1.3-10中的全部绘图指令。 具体操作过程:先利用组合操作 [Ctrl + 鼠标左键] 点亮如图1.5-1所示历史指令窗中的那五行指令;当鼠标光标在点亮区时,点击鼠标右键,引出现场菜单;选中现场菜单项{Evaluate Selection} ,计算结果就出现在指令窗中。
16
图1.5-1 再运行历史指令的演示
〖说明〗
? 历史指令的复制操作步骤大抵相同。但在现场菜单中,应选 {Copy} 项。
? 单行历史指令的再运行操作更简单,只要用鼠标左键双击所需的那行指令即可。
1.6 Current Directory、路径设置器和文件管理
当在指令窗中运行一条指令时,MATLAB是怎样从庞大的函数和数据库中,找到所需的函数和数据的呢?用户怎样才能保证自己所创建的文件能得到MATLAB的良好管理,又怎样能与MATLAB原有环境融为一体呢?这就是本节要介绍的内容。
1.6.1 Current Directory当前目录浏览器简介
如图1.6-1所示的当前目录浏览器界面上,自上而下分别是:当前目录名,工具条,文件、文件夹列表及文件描述区等。此外,MATLAB还为当前目录窗设计了一个专门的操作菜单。借助该菜单可方便地打开或运行M文件、装载MAT文件数据等。详见表1.6-1。
图 1.6-1 当前目录浏览器和适配的弹出菜单
17
应 用 功 能 运行M文件 编辑M文件 把MAT文件全部数据输入内存 把MAT文件部分数据输入内存 表1.6-1 当前目录适配菜单的应用 操 作 方 法 点亮待运行文件;按鼠标右键引出现场菜单;选中{Run}菜单项,即可使该M文件运行。 点亮待运行文件;按鼠标右键引出现场菜单;选中{Open} 菜单项,此M 文件就出现在编辑/调试器中。 点亮待装数据文件;按鼠标右键引出现场菜单;选中{Open} 菜单项,此文件的数据就全部装入工作内存。 点亮待装载数据文件;按鼠标右键引出现场菜单;选中{Import Data} 菜单项,引出数据预览选择对话框“Import Wizard”;在此框中“勾选”待装数据变量名,点击 [Finish] 键,就完成操作。 简捷操作方法 鼠标左键双击M文件。 鼠标左键双击MAT文件。 〖说明〗
? MATLAB启动后的默认当前目录通常是:C:\\Documents and Settings\%user\\My
Documents\\MATLAB应当指出:在该默认当前目录上存放用户文件是允许的、完全的、可靠的。MathWorks公司之所以设计这样一个目录,就是供用户使用的。
? 若使用notebook文档启动MATLAB窗口,则当前目录将是MATLAB所在的根目录。
提醒读者:千万不要把MATLAB所在根目录设成当前目录。对此,用户应该通过重新设置,把当前目录设置在适当的目录上。
1.6.2 用户目录和当前目录设置
(1)用户目录 与以前版本不同,MATLAB R2007a在安装过程中,会自动生成一个目录C:\\Documents and Settings\%user\\My Documents\\MATLAB。该目录专供存放用户自己的各类MATLAB文件。应当指出:在MATLAB\\R2007a目录下work目录依然存在。它仍适宜用作临时工作目录。 假若用户想另建一个目录,采用Windows规范操作就可实现。
(2)应把用户目录设置成当前目录 在MATLAB环境中,如果不特别指明存放数据和文件的目录,那么MATLAB总默认地将它们存放在当前目录上。因此,出于MATLAB运行可靠和用户方便的考虑,本书作者建议:在MATLAB开始工作的时候,就应把用户自己的“用户目录”设置成当前目录。
(3)把用户目录设置成当前目录的方法
方法一:交互界面设置法
在MATLAB操作桌面右上方,或当前目录浏览器左上方,都有一个当前目录设置区。它包括:“目录设置栏”和“浏览键”。用户或在“设置栏”中直接填写待设置的目录名,或借助“浏览键”和鼠标选择待设置目录。
方法二:指令设置法 通过指令设置当前目录是各种MATLAB版本都适用的基本方法。这种指令设置法的适用范围比交互界面设置法大。它不仅能在指令窗中执行,而且可以使用在M文件中。假设待设置的用户目录是 c:\\mydir ,那么把它设置为当前目录的指令是 cd c:\\mydir 。 注意:以上方法设置的当前目录,只是在当前开启的MATLAB环境中有效。一旦MATLAB重新启动,以上设置操作必须重新进行。
1.6.3 MATLAB的搜索路径
MATLAB的所有(M、MAT、MEX)文件都被存放在一组结构严整的目录树上。MATLAB把这些目录按优先次序设计为“搜索路径”上的各个节点。此后,MATLAB工作时,就沿着此搜索路径,从各目录上寻找所需的文件、函数、数据。
当用户从指令窗送入一个名为cont的指令后,MATLAB的基本搜索过程大抵如下。
18
检查MATLAB内存,看cont是不是变量;假如不是变量,则进行下一步。 ? 检查cont是不是内建函数(Built-in Function);假如不是,再往下执行。
? 在当前目录上,检查是否有名为cont的M文件存在;假如不是,再往下执行。 ? 在MATLAB搜索路径的其他目录中,检查是否有名为cont的M文件存在。
应当指出:(A)实际搜索过程远比前面描述的基本过程复杂。但又有一点可以肯定,凡不在搜索路径上的内容,不可能被搜索。(B)指令exist、 which、 load执行时,也都遵循搜索路径定义的先后次序。
1.6.4 一
MATLAB搜索路径的扩展 何时需要修改搜索路径
假如用户有多个目录需要同时与MATLAB交换信息,那么就应把这些目录放置在MATLAB的搜索路径,使得这些目录上的文件或数据能被调用。又假如其中某个目录需要用来存放运行中产生的文件和数据,那么还应该把这个目录设置为当前目录。
二 利用设置路径对话框修改搜索路径
采用以下任何一种方法都可以引出设置路径对话框(图1.6-2)。 在指令窗里,运行指令pathtool。
在MATLAB桌面、指令窗等的菜单条中,选择 {File:Set Path} 下拉菜单项。
图 1.6-2 路径设置对话框
〖说明〗
? 该对话框设置搜索路径有两种修改状态:
当前有效修改 假如在路径设置过程中,仅使用了该对话框的左侧按键。 永久有效修改 假如在设置后,点击了对话框下方 [Save] 按键。 ? 所谓永久有效修改是指:所进行的修改不因MATLAB的关闭而消失。
三 利用指令path 设置路径
利用path 指令设置路径的方法对任何版本的MATLAB都适用。假设待纳入搜索路径的目录为 c:\\my_dir ,那么以下任何一条指令均能实现:
path(path,'c:\\my_dir') 把c:\\my_dir设置在搜索路径的尾端 path('c:\\my_dir',path) 把c:\\my_dir设置在搜索路径的首端
19
〖说明〗
? 用 path 指令扩展的搜索路径仅在当前MATLAB环境下有效。也就是说:若用户退出
当前MATLAB后,再重新启动MATLAB,那么在前一环境下用 path 所定义的扩展搜索路径无效。
? 用 path 指令扩展的搜索路径的方法可以编写在程序中。
1.7
1.7.1
工作空间浏览器和数组编辑器
Workspace工作空间浏览器简介
工作空间浏览器(或称内存浏览器)默认地放置于MATLAB操作桌面的左上侧后台。点击桌面左上侧框下方外露的“Workspace”窗标,可使工作空间浏览器出现在桌面的前台。该浏览器的功用,详见表1.7-1。
图1.7-1 工作空间浏览器及“绘图工具”图标的展开
功 能 创建 新变量 显示 变量内容 图示变量 用文件 保存变量 从文件向内存装载变量
表1.7-1 工作空间浏览器主要功能及其操作方法 操 作 方 法 简捷操作法 点击图标,在工作空间中生成一个“unnamed”的新变量; 双击该新变量图标,引出Array Editor数组编辑器(如图1.7-3);在数组编辑器中,向各元素输入数据;最后,对该变量进行重命名。 点亮变量;或点击图标,或选中弹出菜单中的 {Open 用鼠标左键Selection} 项,则变量内含的数据就显示在“Array Editor”数双击变量。 组编辑器中。(数组编辑器详见第1.7-3节) 点亮变量;或选中图标下拉菜单项,或选中弹出菜单中的 绘图项,就可以适当地绘出选中变量的图形。(详见例1.7-1) 选择待保存到文件的(一个或多个)变量,或点击图标,或 选中弹出菜单中的 {Save Workspace As}项,便可把那些变量保存到MAT数据文件。(详见第1.7-4节之一) 点击图标;选择MAT数据文件;再单击那文件,引出“Import Wizard”界面,它展示文件所包含的变量列表;再从列表中,选择待装载变量,便可。 【例1.7-1】通过“工作空间浏览器”的运作,采用图形显示内存变量y 。(注意:本例是
20