我目前正在使用一个MATLAB软件套件,其中包括一个名为“Swap”的函数。在我的个人计算机上运行这段代码运行得很好,但是当尝试在Linux服务器上运行时,它似乎在尝试在Linux终端上使用内置的“交换”功能。
有没有什么方法可以强制终端忽略这个内置的交换,只需调用“交换”函数(它是MATLAB套件的一部分)?
谢谢!

最佳答案

假设:当你说built-in "Swap" function on the Linux terminal时,我假设你是在linux终端上运行MATLAB。我还假设内置的swap命令来自于MATLAB平台,而不是linux环境,这个答案基于这些假设。
在一般情况下,当您想添加其名称与已存在的函数相同的函数文件时,必须将函数文件的路径移动到在MATLAB搜索路径列表中的现有函数文件的路径之上的某处。它的工作方式是,当你提到函数的使用时,MATLAB开始从列表的顶部到底部寻找匹配项。
可以通过运行-

path

因此,要回答您的问题,只需使用addpath-
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

08-18 10:35
查看更多