写MATLAB脚本时随手给自定义函数起的名字,不小心和内置函数重名,运行时会出现完全没逻辑的奇怪报错,反复调试也找不到问题根源。不用逐行核对代码,几个简单操作就能快速定位并解决冲突。

1. 用which指令查优先级
在命令行输入which 自定义函数名,查看返回的文件路径。
如果返回的是自己写的m文件,说明自定义函数覆盖了内置函数,后续所有相关运算都会被错误逻辑接管,触发莫名其妙的报错。
2. 立刻清空工作区残留
执行clear all指令清空所有工作区变量和缓存的函数句柄。
之前被错误调用的同名内置函数残留会被清除,避免旧的错误逻辑继续干扰后续运行。
3. 重命名自定义函数
给自定义函数加专属前缀,比如项目名缩写加功能名,彻底避开内置函数的命名范围。
不要用sum、max、plot这类通用单词做函数名,从根源上避免和MATLAB内置库的命名冲突。
4. 开启命名冲突提示
在预设界面打开代码分析器的命名冲突检测选项。
编辑代码时,编辑器会实时标红和内置函数重名的自定义函数,提前预警冲突,不用等运行报错才发现问题。
本文凡亿教育原创文章,转载请注明来源!
暂无评论