在我的 Matlab 脚本中,我想区分脚本在 Interactive trough emacs matlab 模式或批处理中运行的情况。
通过批量运行,我的意思是按照 Matlab 网站http://www.mathworks.com/support/solutions/en/data/1-15HNG上的说明运行。
例如,通过一个变量来做这样的思考:
if (SCRIPT_RUNNING_IN_BATCH==1)
do_this;
end
有没有办法做到这一点?
在我的 Matlab 脚本中,我想区分脚本在 Interactive trough emacs matlab 模式或批处理中运行的情况。
通过批量运行,我的意思是按照 Matlab 网站http://www.mathworks.com/support/solutions/en/data/1-15HNG上的说明运行。
例如,通过一个变量来做这样的思考:
if (SCRIPT_RUNNING_IN_BATCH==1)
do_this;
end
有没有办法做到这一点?
我使用以下内容:
function retval = isCommandWindowOpen()
jDesktop = com.mathworks.mde.desk.MLDesktop.getInstance;
retval = ~isempty(jDesktop.getClient('Command Window'));
end
如前所述,这是此处的副本
在没有交互模式的情况下运行 MATLAB 时,您可以传递参数。例如,您可以通过以下方式将 15 传递给您的函数srcName
:
matlab -nosplash -nodesktop -timing -r srcName(15)
不过,这不适用于脚本。
我是 ViM 用户,slimux 可以完美运行。我相信你可以设置你喜欢的 emacs 来与交互式 MATLAB 进行类似的交互,而不是每次都调用 MATLAB。