当重载buildin函数时,避免MATLAB启动警告?

Jon*_*erg 6 matlab overloading suppress-warnings

如上所述这里,我创建了自己figure.m这很好地重载内置figure命令.现在,每当我启动MATLAB时,我都会收到警告

警告:函数C:\ somepath\figure.m与MATLAB内置函数同名.我们建议您重命名该函数以避免潜在的名称冲突.

有没有办法停用此警告,因为在我的情况下它是理想的行为?

您可能会说我应该以不同方式调用我的函数而不是重载,但我觉得我的开发系统这种重载是正确的方法...

更新

正如Aabaz所提到的,您可以使用全局关闭此警告

warning off MATLAB:dispatcher:nameConflict
Run Code Online (Sandbox Code Playgroud)

需要在matlabrc.m(在设置路径之前)的开始处进行.但是,我仍然会对一个解决方案感兴趣,该解决方案可以特定地删除此错误消息以重载figure.m(或一些自定义的函数列表)而不是所有函数.我猜我在这里要求太多了一些;-)?

Aab*_*baz 4

我似乎无法用我的 Matlab 版本(R2008b)复制此警告,但无论如何,如果您还没有尝试过,您应该查看函数lastwarnwarning,它们允许您识别并关闭此警告。

PS:警告最终由于某种原因出现,我能够使用lastwarn和警告将其关闭。

>>[msgstr msgid]=lastwarn;
>>disp(msgid);
MATLAB:dispatcher:nameConflict
>>warning('off',msgid);
Run Code Online (Sandbox Code Playgroud)

我应该补充一点,您应该在启动时将其关闭,以便在 Matlab 的不同会话之间有效。