1

在我的 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

有没有办法做到这一点?

4

2 回答 2

1

我使用以下内容:

function retval = isCommandWindowOpen()
    jDesktop = com.mathworks.mde.desk.MLDesktop.getInstance;
    retval = ~isempty(jDesktop.getClient('Command Window'));
end

如前所述,这是此处的副本

于 2013-05-14T16:22:29.860 回答
1

在没有交互模式的情况下运行 MATLAB 时,您可以传递参数。例如,您可以通过以下方式将 15 传递给您的函数srcName

matlab -nosplash -nodesktop -timing -r srcName(15)

不过,这不适用于脚本。

我是 ViM 用户,slimux 可以完美运行。我相信你可以设置你喜欢的 emacs 来与交互式 MATLAB 进行类似的交互,而不是每次都调用 MATLAB。

于 2013-05-14T17:24:57.517 回答