【发布时间】:2016-01-14 03:04:11
【问题描述】:
我编写了一个希望多次使用的 Matlab 函数。为此,目前我正在将该函数复制到适当的目录中,然后再使用。
这种方法的问题是在不同版本的函数中太容易迷路了。基本上,我处于不记得哪个版本包含哪些修改的情况。
所以我的问题是,我怎样才能拥有可以从任何目录使用的单一版本的函数?
【问题讨论】:
标签: matlab
我编写了一个希望多次使用的 Matlab 函数。为此,目前我正在将该函数复制到适当的目录中,然后再使用。
这种方法的问题是在不同版本的函数中太容易迷路了。基本上,我处于不记得哪个版本包含哪些修改的情况。
所以我的问题是,我怎样才能拥有可以从任何目录使用的单一版本的函数?
【问题讨论】:
标签: matlab
一个简单的方法是将包含这个函数的文件夹添加到搜索路径中,使用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 后,您需要重新添加路径。
【讨论】:
addpath函数是一次性使用的,重启Matlab时必须重新添加路径才能使用?还是addpath 永久添加路径?谢谢
addpath(genpath('/my/path/')),它将 my/path 下的所有文件夹添加到 Matlab 的路径中。它是否方便取决于您如何组织功能
另一种快速方法(如果您不想弄乱您的 matlab 路径,并且假设您以前从未弄乱过它)是简单地将特定的 .m 文件保存到“MATLAB”文件夹(即默认 matlab 路径中的第一个条目,以及打开程序时 Matlab 启动的文件夹,这也是默认设置)
在 Windows 中,它在 C:\users\your_user_name\Documents\MATLAB
Mac OS X 是 /Users/your_user_name.Documents/MATLAB 我从未在 linux 上使用过 matlab,但我很肯定它与 OSX 使用的路径相同
【讨论】:
一个快速的方法是首先在你的系统上创建一个目录,比如mFunctions,你可以在其中包含你编写的这个函数的m文件(可能在不久的将来还有其他函数),然后添加目录 mFunctions 到 Matlab PATH。
每次启动 Matlab 时,都会访问 PATH 中的位置,并按照您希望的方式提供 m 文件、simulink 模型等。
查看this link 获取有关如何执行此操作的 Matlab 文档。
【讨论】: