我在一个公共目录中保存了许多自制函数,如下所示:U:\matlab\functions(U:是Windows 10中的Map网络驱动器)。
在startup.m中,我将它添加到路径中:
addpath('U:\matlab\functions');
我可以访问该目录中的函数,没有任何问题,直到我在会话期间在该目录中添加新函数。当我添加一个新函数并尝试使用它时,Matlab找不到它。我试着使用新的功能,它说
Unrecognized function or variable 'newfunction'
不然我就
which newfunction
上面写着
'newfunction' not found
我必须关闭并重新启动Matlab会话,让它找到我刚刚创建的新函数。有没有办法告诉Matlab“重新加载”它在我的路径中包含的函数目录中看到的内容,而不重新启动我的会话?
我使用Matlab R2022a,但我在早期版本中见过这种情况。
1条答案
按热度按时间tv6aics11#
可以使用rehash:
rehash更新搜索路径上不在matlabroot中的文件夹的已知文件和类的MATLAB®列表。它将加载函数的时间戳与它们在磁盘上的时间戳进行比较。如果磁盘上的文件较新,则会清除加载的函数。