解决matlab两个库文件名冲突的问题
添加一个库,发现总是调用另一个库的同名文件,这是由于路径中优先级问题。
which -all 函数名
可以看到所有的同名文件,结果会显示所有同名文件,但其它文件都有shadowed的字样,就代表该路径被遮蔽掉了。
处理问题:
1、删除一个路径的文件(不推荐)
不推荐的原因是我也不知道下次会不会用到另一个库😀
2、改变优先级(让不想要的版本shadowed)
MATLAB 会按路径优先级搜索函数,越靠前的路径越优先。因此你只需:
addpath('D:\your\own\path', '-begin'); % 你的函数路径放前面
which -all 你的函数名
但这种方法也有个问题,就是切换库每次都需要重新设置很麻烦
3、更改文件名
最好是拷贝一份你需要的文件,然后更改下文件名,同步更改函数名,和调用地方。
一般来说是有作用的,不起作用可能是没有更新。
clear functions %重置缓存
rehash toolboxcache %刷新路径索引