Linux函数名冲突MATLAB

时间:2014-03-31 16:41:52

标签: linux matlab ssh terminal namespaces

我目前正在使用MATLAB软件套件,其中包含一个名为“Swap”的功能。在我的个人计算机上运行此代码运行得很好,但是当试图在Linux服务器上运行时,它似乎试图在Linux终端上使用内置的“交换”功能。

有什么方法可以强制终端忽略这个内置的Swap并简单地调用作为MATLAB套件一部分的“Swap”函数?

谢谢!

1 个答案:

答案 0 :(得分:1)

假设:当您说built-in "Swap" function on the Linux terminal时,我假设您正在谈论在Linux终端上运行MATLAB。我也假设内置的swap命令来自MATLAB平台,而不是linux环境,这个答案是基于这些假设的。

在一般情况下,当您想要添加一个名称与现有函数相同的函数文件时,您必须将函数文件的路径移动到现有函数文件路径上方的某处。在MATLAB搜索路径列表中。它的工作方式是,当你提到函数的使用时,MATLAB开始寻找从顶部到列表底部的匹配。

可以通过运行 -

来查看MATLAB搜索路径
path

因此,要回答您的问题,只需使用addpath -

将套件的路径添加到MATLAB搜索路径的顶部
addpath(PATH_TO_SUITE);

如果PATH_TO_SUITE包含子目录,其中一个具有swap函数文件,则使用genpath和addpath -

addpath(genpath(PATH_TO_SUITE));

这对你来说也很有趣 - Access m-files in a subfolder without permanently adding it to the path