在我的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
有没有办法做到这一点?
答案 0 :(得分:1)
我使用以下内容:
function retval = isCommandWindowOpen()
jDesktop = com.mathworks.mde.desk.MLDesktop.getInstance;
retval = ~isempty(jDesktop.getClient('Command Window'));
end
如前所述,这是here
的副本答案 1 :(得分:1)
您可以在没有交互模式的情况下运行MATLAB时传递参数。例如,您可以通过以下方式将15传递给名为srcName
的函数:
matlab -nosplash -nodesktop -timing -r srcName(15)
虽然这对于剧本不起作用。
我是ViM用户,slimux工作得很好。我确定你可以设置你喜欢的emacs来与交互式MATLAB进行类似的交互,而不是每次都调用MATLAB。