MATLAB语言及编程实践:生物数学模型应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.3 命令行窗口的常用控制命令

MATLAB为命令行窗口提供了通用的操作命令,以方便用户对屏幕输出、内存变量等进行交互管理控制,常见的命令有cd、dir、clf、clc、close、clear、exit、quit、mkdir、more、type、edit等。

1.cd

早在Windows操作系统之前的DOS操作系统中,cd就是更换当前工作目录的命令,MATLAB使用它完成同样的工作。在默认情况下,MATLAB的工作目录是用户安装MATLAB时所在磁盘分区中的目录,这往往不是用户最终的工作目录,通过在命令行窗口使用cd命令,可转换到用户希望的工作目录。用户也可以自己设置好特定位置的文件夹作为自己的工作目录,每次启动MATLAB时将自动转换到该目录下。

cd的使用格式有3种,分别为:cd;cd(newFolder);oldFolder = cd(newFolder)。常用的是第2种,即更换到新目录。第3种使用格式是cd命令在更换到新目录的同时,还返回先前目录信息字符串,这种使用方式多用于批量创建目录并在目录中写入文件的情形。

需要说明的是,当我们想回到上一级目录时,使用“cd ..”即可。请注意这里的“cd ..”,更明确的表达是“cd+空格+点点”,缺失了中间的空格将会报错。

2.dir

dir也是经典的DOS操作系统命令之一,用于列出指定目录下的文件及子目录名称,其使用格式为:dir;dir name;listing = dir(name)。

第1种最为简单,直接列出当前工作目录下的所有文件与目录;第2种则列出与name描述的属性相同的文件或子目录,当name为文件夹时,则列出其文件与子目录;第3种则具有返回值,返回第2种得到的属性。listing属性如表1-2所示。

表1-2 listing属性

例如:

和dir类似的命令是what,它和dir的差别在于所列内容的多寡,what只用于显示某目录下存在哪些MATLAB文件,若输入完整路径,则可列出指定目录下的文件,而dir不仅仅局限于MATLAB文件,其他类型文件也可以。

3.clf

clf命令用来清除当前的图形窗口,它只清除了句柄为非隐藏设置的图像对象。常见的使用格式有5种,分别为:①clf,直接清除当前图形窗口;②clf('reset'),除图像的Position、Units、PaperPosition和PaperUnits属性外,均设置为默认值;③clf(fig),清除由句柄fig指定的图形窗口;④clf(fig,'reset'),同上;⑤h = clf(...),带返回句柄的格式,当图像的IntegerHandle设置为off时,返回句柄非常有用。下面给出一个应用实例:

从clf命令的效果来看,它会清除图形窗口内的所有内容,只留下空白图窗,即使用figure命令建立的图窗也不例外。关闭图窗需要使用close命令。通俗地讲,其结果可以和绘画类比,使用figure创建空白图窗,相当于准备好绘图纸;clf则相当于使用橡皮将所有的绘图擦干净;而close则是把绘图纸取走。所以上述的代码在执行完clf命令后,只留下了图窗这张“空白绘图纸”。

4.clc

clc命令用来清除屏幕上显示的内容,它只是“表面上”清理了屏幕,所有的变量仍然存在。

5.close

close命令用来清除指定的图像,其功能等价于close(gcf)。在MATLAB中,close命令有以下几种调用格式:①close,不带参数,等价于close(gcf),指清除当前图窗;②close(h),清除由句柄h指定的图窗;③close name,删除带指定名称name的图窗;④close all,清除所有句柄设置为非隐藏状态的图窗;⑤close all hidden,清除所有图像,包括句柄设置为隐藏状态的图窗;⑥close all force,强力删除所有图像,即使GUI属性中CloseRequestFcn设置为不关闭的窗口也一并删除;⑦status = close(...),带返回参数的格式,当指定窗口被成功删除时返回1,否则返回0。

close命令的使用将在第4章中给出示例。

6.clear

clear命令用来清理当前工作空间中的所有条目(这里的条目不仅仅指变量),释放其占有的系统内存。常规的格式有:①clear,不带参数时清理内存变量,释放内存;②clear name1...nameN,删除内存中指定名称的变量、脚本、函数或MEX函数,并释放其占用的内存;③clear-regexp expr1...exprN,清除匹配正则表达式的变量,且仅用于清除变量;④clear ItemType,清理由ItemType表示的类型。ItemType的类型中,all表示全部清理,functions表示清理函数,classes表示清理类,此外,还有global、import、java、mex、variables等。

清理的结果可由who或whos查看。下面的代码中首先建立了几个变量,然后清除所有由a开头的变量:

7.exit

exit命令用来终止MATLAB程序,有两种格式:①exit,退出程序,和quit相同;②exit(code),当从系统命令行调用MATLAB命令时,会返回退出代码。

8.quit

quit命令用来终止MATLAB程序,有3种格式:①quit,直接退出;②quit cancel,用于finish函数;③quit force,忽略finish函数的作用。

9.mkdir/rmdir

mkdir命令用于创建文件夹,不管是绝对路径还是相对路径,mkdir命令均可支持。常用的调用格式为:①mkdir('folderName'),创建由folderName指定名称的文件夹,绝对路径和相对路径均可;②mkdir('parentFolder','folderName'),创建由folderName指定名称的文件夹,其上一级文件夹由parentFolder指定名称,若上一级文件夹不存在,则先创建;③status = mkdir(...),带返回状态的创建格式;④[status,message,messageid] = mkdir(...),带返回状态及信息的创建格式。

注意:若要删除文件夹,则可以使用rmdir命令。

10.more

more命令用来控制命令行窗口的输出,使其后的内容分页输出,常用的格式为:①more on,开启页面控制输出格式,每次输出一页;②more off,关闭页面控制输出格式;③more(n),开启页面控制输出格式,每页输出n行;④A = more(state),返回当前定制格式下每页的行数,输入参数state可以是上述的on或off,也可以是设定的每页行数。

例如,每页输出40行,可设定为:

当运行上述代码时,输出一页(40行)内容后,程序暂停在第41行,显示--more--,等待用户按任意键翻页。当用户使用回车(Enter)键翻页时,每次回车只输出一行;而当使用空格键翻页时,则翻到新的一页,如图1-16所示。

11.type

type命令用来显示指定的MATLAB文件的内容,常常用来查阅函数的详细资料。常用的格式有:type('filename'),type filename。

例如,要想查阅多元统计中的主成分分析代码,则有:

图1-16 命令more的使用测试

12.edit

除了上面介绍的type命令,用户还可以使用edit命令打开文件,并显示在编辑器中。例如,在命令行窗口使用如下代码:

将会在代码编辑器打开pca函数。但一般不推荐使用该函数查看代码,因为对不熟悉的代码,一旦不小心进行了修改,并且没有备份,就容易造成失误。