我想在没有GUI的linux服务器上运行一段matlab代码。我的脚本有许多函数,它们放在我运行代码的文件夹的子文件夹中。我想在tmux会话中运行代码,这样我就可以脱离它。我已经尝试了下面的代码
matlab -nodisplay -nosplash -nodesktop -r "run('path\to\file.m');exit;" | tail -n +11
但是它似乎没有得到子文件夹中的函数。我如何解决这个问题,使它可以看到所有子文件夹中的文件?
发布于 2019-09-06 20:18:19
我想您只需要添加Matlab命令addpath( genpath( 'path\to\' ) )
即
matlab -nodisplay -nosplash -nodesktop -r "addpath(genpath('path\to\'));run('path\to\file.m');exit;" | tail -n +11
addpath
是用于添加路径的Matlab命令,genpath
生成给定根路径的所有文件夹和子文件夹路径的字符串,addpath
可以解释该字符串。
相反,您可以先使用cd
跳转到该目录,即
cd('path\to\');addpath(genpath(cd));...
https://stackoverflow.com/questions/57821707
复制相似问题