Linux 函数名冲突 MATLAB

标签 linux matlab ssh terminal namespaces

我目前正在使用 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/

相关文章:

svn - 从Subversion推送到Web服务器

linux - 是否有一个 linux 程序可以连续运行另一个程序而不会闪烁?

c - Linux 内核,const 转换函数

c - fflush 和 while 循环

matlab - 如何在Matlab中调用放在另一个目录中的函数?

matlab - 注释某些行时 Matlab 中的单元格数组串联错误

linux - 检查进程是否为 Go 应用程序(在 Linux/Unix 中)

matlab - MATLAB 生成低精度随机数

bash - 压缩通过 SSH 连接到另一台机器的 Mysqldump

laravel - 在SSH Laravel 5.2中运行工匠代码