2.2 MATLAB工作区

在MATLAB中创建,或者从数据文件或其他程序导入的变量均保存在工作区中。本节将详细介绍MATLAB工作区。

2.2.1 工作区

像z=10这样的语句的意思是创建了一个变量z,把10存储在其中,它保存在计算机的一段内存中,就是常说的工作区。当一个专门的命令、M文件或函数运行时,工作区是MATLAB所需要的所有变量和数组的集合。

所有在命令行窗口中执行的命令,和所有在命令行窗口中执行的脚本文件都会被分配一个普通的分配空间。MATLAB函数拥有独立的工作区,这是区分函数和脚本文件的一个重要特征。

使用whos命令将会产生一个在当前工作区内的所有变量和数组状况表。

如果要删除工作区中的变量,可以使用clear命令,格式如下:

img

var1、var2是要删除的变量的变量名。clear variables命令或clear命令用于清除当前工作区中的所有变量。

可以使用help命令或helpwin命令显示clear命令的用法信息,如下面的代码所示:

img

clear命令不仅具有删除变量的功能,随着对MATLAB各种特性的逐渐熟悉,用户对其功能会有更深入的了解。

2.2.2 工作区浏览器

当前工作区的内容可以通过基于GUI的“工作区”窗口检测到。“工作区”窗口默认出现在MATLAB桌面的左上角,它提供了与使用whos命令可得到的相同信息,并且当工作区中的内容发生改变时,其中的信息也会随之更新。

“工作区”窗口(The Workspace Browser)允许用户改变工作区中的任何一个变量的内容。典型的“工作区”窗口如图2-2所示,可以看出,它显示的信息和使用whos命令得到的信息是一样的。双击这个窗口中的任一变量可以产生一个数组编辑器,这个编辑器允许用户修改保存在变量中的信息。

img

图2-2 “工作区”窗口

一个或多个变量可以在工作空间内删除:先选择它们,然后按Delete键,或者单击鼠标右键选择Delete命令。

2.2.3 内存清理

当用户创建一个变量或运行一个 M 文件的函数时,MATLAB 就会为这些变量和函数分配相应的内存空间。由于用户计算机的配置不同,MATLAB可能会出现内存溢出现象,因此用户无法从事进一步的工作。

当用户使用clear命令删除变量时,MATLAB 就会释放这个变量所占用的内存。然而,这样多次操作以后,可能会使内存碎片化,也就是说,这时 MATLAB 的内存空间中充斥着由大量碎小闲置内存包围的许多变量。

由于MATLAB总是在内存的连续区域保存变量,因此这些内存碎片对MATLAB而言不可再用。为了缓解这个问题,可以使用pack命令完成内存碎片收集工作。该命令先将MATLAB工作区中所有的变量保存到硬盘上,然后清空工作区,最后将原有变量重新载入工作区。这项操作完成之后,所有的内存碎片就被合并成一个大的、可用的内存块。