在MATLAB中,可以为内置函数分配一个变量值,如plot = 5
。从那时起,函数plot()
将无法使用。 plot(x)
,对于变量x
,将给出编译错误。要恢复该功能,我们只需使用plot
删除变量clear plot
。
clear
是通常用于取回内置函数的命令。
我的问题是,如果我们为函数clear
分配一个值(标量或矩阵),我们如何取回函数clear
?
clear clear
显然不会起作用。除了关闭并重新启动MATLAB之外,我想不出能够恢复功能的方法。
答案 0 :(得分:7)
正如已经提到的那样影响matlab函数的非常糟糕的做法,例如clear
- 但是在这种情况下,您可以使用builtin
清除您的clear
变量:
>> clear = 1
>> whos
Name Size Bytes Class Attributes
clear 1x1 8 double
>> builtin clear
>> whos
>>
仅clear
clear
使用:
builtin clear clear
答案 1 :(得分:1)
不,clear
是清除,删除变量的功能。如果你clear
变量“阴影”你的函数,那么可以再次找到该函数。如果你“隐藏”clear
函数,那么你就无法清除任何东西了!
非常糟糕的做法为plot
clear
surf
conv
或任何其他MATLAB函数命名,因为阴影问题,以及你清楚地发现了原因。
@Jucobs在评论中提供了非常好的提示。使用exist
。如果事物是变量(1)或函数(2,5)