我目前正在使用 MATLAB 软件套件,其中包含一个名为“Swap”的函数。在我的个人机器上运行这段代码运行得很好,但是当试图在 Linux 服务器上运行时,它似乎试图在 Linux 终端上使用内置的“交换”功能。
有什么方法可以强制终端忽略这个内置的 Swap 并简单地调用 MATLAB 套件中的“Swap”函数?
谢谢!
最佳答案
假设当您说在 Linux 终端上内置“Swap”功能
时,我假设您是在谈论在 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 .
关于Linux 函数名冲突 MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22767335/