Matlab中clear函数的用法

目录

语法

说明

示例

清除单个变量

按名称清除特定的变量

清除变量集

清除所有编译的脚本、函数或 MEX 函数

提示


         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指示的项目类型,例如 allfunctionsclasses

示例

清除单个变量

        定义两个变量 a 和 b,然后清除 a

a = 1;
b = 2;
clear a

        仅变量 b 保留在工作区中。

whos


  Name      Size            Bytes  Class     Attributes

  b         1x1                 8  double    

按名称清除特定的变量

        使用正则表达式,清除其名称以 MonTue 或 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 类

all

仅从命令提示符

调用 clear all 会降低代码性能,且通常没有必要。有关详细信息,请参阅提示部分。

classes

调用 clear classes 会降低代码性能,且通常没有必要。有关详细信息,请参阅提示部分。

要使用更新后的类定义实例化对象,不需要调用 clear classes。如果您修改类定义,MATLAB® 会自动更新它。

如果任何一类对象在清空工作区之后仍存在,clear classes 将发出警告而不清除这些对象。例如,对象仍可以存在于函数或图窗窗口的持久变量中。 

如果使用 mlock 命令锁定了类文件,clear classes 将不清除该类。在这种情况下,将不发出警告。

functions

调用 clear functions 会降低代码性能,且通常没有必要。有关详细信息,请参阅提示部分。

global

clear global 删除当前工作区和全局工作区中的所有全局变量。例如,当从函数调用时,clear global 会删除函数和全局工作区中的所有全局变量,但不会删除基础工作区中的所有全局变量。

import

仅从命令提示符调用 clear import。在函数或脚本中调用 clear import 将返回错误。

java

如果 Java 类的任何 Java 对象存在于工作区外部(例如存在于锁定的代码文件的用户数据或持久变量中),clear java 将发出警告而不删除该 Java 类定义。

在修改动态 Java 类路径中的任何文件之后发出 clear java 命令。

mex

clear mex 不清除锁定的 MEX 函数或当前正在使用的函数。

variables

注意

        如果变量的名称为 ItemType 的值,则调用 clear 并后跟该名称会删除具有该名称的变量。clear 不会将名称解释为此上下文中的关键字。例如,如果工作区包含变量 aallb 和 ballclear all 仅删除变量 all

提示

  • 调用 clear allclear 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 进程的内存量。

Guess you like

Origin blog.csdn.net/jk_101/article/details/111316082