4

我想使用 matlab 访问私有文件夹中的函数。很高兴知道如何为私人文件夹添加路径?

4

5 回答 5

4

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.

于 2013-10-30T11:32:54.313 回答
0

我认为最好的做法是将函数移出私有目录(通过复制它,或者只是将它移到一个目录中。)

于 2013-10-30T13:06:30.010 回答
0

由于似乎无法将文件夹添加到路径中,您可以考虑另一种方法。

您应该能够创建/找到一个调用您需要的私有函数的函数,而不是复制该函数(这将为您提供 2 个版本来维护)。

现在,如果您的基础功能得到更新,您仍然可以。(除非输入格式发生变化,但你有更大的问题要担心)。

于 2013-10-30T14:13:10.020 回答
0

如果您需要访问存储在

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 后工作。

于 2016-07-23T12:53:35.523 回答
0

我发现以下内容对开发很有用,例如调试私有函数。

cd private
addpath ..

我可以使用私有函数,因为它们在我的工作目录中,但我也可以在工具箱中调用用户可见的函数。

于 2015-08-14T11:27:10.287 回答