问题描述:
例如两个工具包package A和B的路径都加到了search path中,A的路径在B的前面,且两个包中都有名称为func的函数。在其他地方调用func的时候,由于A的路径排在前面,故执行的是包A中的func。那如果我想执行包B中的函数,该怎么办呢?
解决方法:
在自己的程序的开头加上rmpath('包A的路径'),即在当前的环境下临时在search path中删除包A的路径。所以再执行func时,运行的是包B中的func。
补充:
1. 临时添加或删除search path
临时添加path:addpath('路径');
临时删除path:rmpath('路径');
这里临时的意思是search path的改变只发生在当前启动的matlab实例,如果把当前实例关闭再打开或者重新打开一个实例,你会发现search path中的路径并不会受之前临时添加或删除的影响。
那么如果我永久保存临时路径的改变,即重新打开matlab时改变依然存在,应该怎么做呢?
方法1:窗口界面操作,临时改变path后,点击set path,然后点击save。
方法2:命令行操作,在命令行中输入savepath,然后回车。
2. 关于matlab中搜索机制
如果在命令提示符“>>”后输入符号 xt&#