我编写了一个Matlab函数,希望多次使用。为此,我在使用之前将该功能复制到相应的目录中。
这种方法的问题在于它太容易迷失在不同版本的函数中。基本上,我处在一个我不记得哪个版本包含哪些修改的情况。
所以我的问题是,如何才能在任何目录中使用单一版本的函数?
答案 0 :(得分:5)
一种简单的方法是使用addpath
将包含此功能的文件夹添加到搜索路径中:
addpath('../a/relative/path')
或
addpath('/An/absolute/path/on/linux')
addpath('C:/an/absolute/path/on/windows')
正如@brodoll在评论中所建议的那样,创建所有子文件夹列表的genpath
函数很有用,因此不仅指定的文件夹,而且所有子文件夹都被添加到路径中:
addpath(genpath('path/to/the/folder'))
您可以在使用此功能的每个脚本的开头调用它。
注意:这会将此文件夹添加到当前MATLAB会话的搜索路径中。因此,如果您运行两次脚本,则只需要在第一次添加路径。但是在重新启动MATLAB之后,您需要再次添加路径。
答案 1 :(得分:1)
另一种快速方法(如果你不想弄乱你的matlab路径,并假设你以前从未搞砸过它)就是简单地将那个特定的.m文件保存到&#34 ; MATLAB"文件夹(这是默认matlab路径中的第一个条目,当您打开程序时,Matlab文件夹启动,再次使用默认设置)
在Windows中C:\users\your_user_name\Documents\MATLAB
Mac OS X是/Users/your_user_name.Documents/MATLAB
我从来没有在linux上使用过matlab,但我非常肯定它与OSX使用的路径相同
答案 2 :(得分:0)
快速执行此操作的方法是首先在系统上创建一个名为mFunctions
的目录,您可以在其中包含您编写的此函数的m文件(以及可能在不久的将来的其他函数),以及然后将目录mFunctions
添加到Matlab PATH。
每次启动Matlab时,都会访问PATH中的位置,并按照您的方式提供m文件,simulink模型等。
检查this link以获取有关如何执行此操作的Matlab文档。