我想使用 matlab 访问私有文件夹中的函数。很高兴知道如何为私人文件夹添加路径?
5 回答
I don't think there's a way to get around matlab's path
internals that prevent you from adding "private" folders.
If you really need access to a private function from somewhere within the matlab-installation, you are of course free to copy that private function (or the full directory) to some other place, so that you can add it to your path.
我认为最好的做法是将函数移出私有目录(通过复制它,或者只是将它移到一个目录中。)
由于似乎无法将文件夹添加到路径中,您可以考虑另一种方法。
您应该能够创建/找到一个调用您需要的私有函数的函数,而不是复制该函数(这将为您提供 2 个版本来维护)。
现在,如果您的基础功能得到更新,您仍然可以。(除非输入格式发生变化,但你有更大的问题要担心)。
如果您需要访问存储在
C:\MATLAB\R2011a\toolbox\matlab\polyfun\private
就是在父目录下创建一行函数cubicmx_drv.m
C:\MATLAB\R2011a\toolbox\matlab\polyfun
用一条语句调用 mex one。
在这样的示例中,它将读取为:
function zi = cubicmx_drv(x,y,z,xi,yi,tri,t)
zi = cubicmx(x,y,z,xi,yi,tri,t);
如果您更改计算机或工作环境,您只需要记住重新创建。此外,您甚至可以使用自己的代码重新安装它,使用类似的块
try
zi=cubicmx(x,y,z,xi,yi,tri,t);
catch
%create (or copy your local version) cubicmx_drv.m to the proper path
error(['Exit and restart matlab to solve this problem'])
end
此自动解决方案将在重新启动 matlab 后工作。
我发现以下内容对开发很有用,例如调试私有函数。
cd private
addpath ..
我可以使用私有函数,因为它们在我的工作目录中,但我也可以在工具箱中调用用户可见的函数。