目录
clear函数是从工作区中删除项目、释放系统内存
语法
clear
clear name1 ... nameN
clear -regexp expr1 ... exprN
clear ItemType
说明
clear
从当前工作区中删除所有变量,并将它们从系统内存中释放。
clear name1...nameN
删除内存中的变量、脚本、函数或 MEX 函数name1 ... nameN
。
clear -regexp expr1...exprN
删除与列出的任何正则表达式匹配的所有变量。此选项仅删除变量。
clear ItemType
删除ItemType
指示的项目类型,例如all
、functions
或classes
。
示例
清除单个变量
定义两个变量 a
和 b
,然后清除 a
。
a = 1;
b = 2;
clear a
仅变量 b
保留在工作区中。
whos
Name Size Bytes Class Attributes
b 1x1 8 double
按名称清除特定的变量
使用正则表达式,清除其名称以 Mon
、Tue
或 Wed
开头的这些变量。
clear -regexp ^Mon ^Tue ^Wed;
清除变量集
创建一个包含要清除的变量的名称的元胞数组 vars
。然后,清除这些变量。
vars = {'v1','v2','time'};
clear(vars{:})
清除所有编译的脚本、函数或 MEX 函数
如果函数被锁定或当前正在运行,则它不会从内存中清除。
clear functions
要清除的变量、脚本、函数或MEX 函数的名称,指定为一个或多个字符向量或字符串标量。
如果name
是:
-
函数,则
clear
重新初始化函数中的任何持久变量。不支持指定局部或嵌套函数。 -
当前正在执行的脚本或函数或者由
mlock
锁定的函数,则clear
不会将其删除。 -
全局变量,则
clear
会将其从当前工作区中删除,但它仍保留在全局工作区中。要从所有工作区中删除全局变量,请使用clear global
variable
。
使用部分路径区分不同重载版本的函数。例如,clear polynom/display
仅清除 polynom
对象的 display
方法,并将任何其他实施保留在内存中。
要清除的项目的类型,指定为下列值之一。
ItemType 的值 |
清除的项 | 注释 | |||||||
---|---|---|---|---|---|---|---|---|---|
范围中的变量 | 脚本和函数 | 类定义 | 持久变量 | MEX 函数 | 全局变量 | 导入列表 | 动态路径上的 Java 类 | ||
|
✓ | ✓ | ✓ | ✓ | ✓ | 仅从命令提示符 | 调用 |
||
|
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 调用 要使用更新后的类定义实例化对象,不需要调用 如果任何一类对象在清空工作区之后仍存在, 如果使用 |
|
|
✓ | ✓ | ✓ | 调用 |
|||||
|
✓ |
|
|||||||
|
✓ | 仅从命令提示符调用 |
|||||||
|
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 如果 Java 类的任何 Java 对象存在于工作区外部(例如存在于锁定的代码文件的用户数据或持久变量中), 在修改动态 Java 类路径中的任何文件之后发出 |
||
|
✓ |
|
|||||||
|
✓ |
注意
如果变量的名称为
ItemType
的值,则调用clear
并后跟该名称会删除具有该名称的变量。clear
不会将名称解释为此上下文中的关键字。例如,如果工作区包含变量a
、all
、b
和ball
,clear all
仅删除变量all
。
提示
-
调用
clear all
、clear classes
和clear functions
会降低代码性能,且通常没有必要。-
要从当前工作区中清除一个或多个特定变量,请使用
clear
。name1 ... nameN
-
要清除当前工作区中的所有变量,请使用
clear
或clearvars
。 -
要清除所有全局变量,请使用
clear global
或clearvars –global
。 -
要清除特定类,请使用
clear
。myClass
-
要清除特定函数或脚本,请使用
clear
。functionName
-
要清除所有 MEX 函数,请使用
clear mex
。
-
-
clear函数可以删除您指定的变量。要删除除几个指定变量之外的所有变量,请改用
clearvars
。 -
如果清除图窗或图形对象的句柄,该对象自身将不会删除。可使用
delete
删除对象。另一方面,删除对象并不会删除用于存储其句柄的变量(如果有)。 -
clear函数不会清除 Simulink® 模型。请改用
bdclose
。 -
clear函数不会清除局部函数或嵌套函数中的持久变量。
-
在 UNIX® 系统中, clear不会影响分配给 MATLAB 进程的内存量。