通常使用空的逗号分隔列表调用Matlab函数与不带参数调用它相同.例如,
in={}; spy(in{:});
Run Code Online (Sandbox Code Playgroud)
是相同的
spy %// call without inputs
Run Code Online (Sandbox Code Playgroud)
但是,对于1输出版本,我会遇到奇怪的问题toc:这可以按预期工作
tic; t=toc
Run Code Online (Sandbox Code Playgroud)
而这在R2015b,Windows 7 64位崩溃(关闭Matlab):
tic; in={}; t=toc(in{:})
Run Code Online (Sandbox Code Playgroud)
它在Matlab R2014b,Windows 7 64位中正常工作.
有人可以在R2015b中重现这种行为吗?任何解释?可能的错误?
只是为了结束这个问题:
从上面的评论来看,这个问题发生在Matlab R2015b中的各种操作系统中。在较旧的 Matlab 版本中不会发生这种情况。
我向 Mathworks 报告了一个错误。他们告诉我,开发人员已经意识到这个问题,并将在 R2016b 中修复该问题。
编辑(2016 年 10 月 3 日):我确认该错误已在 R2016b 中得到纠正。