为啥 Matlab 独立应用程序退出并出现错误“TooManyOutputs”?
Posted
技术标签:
【中文标题】为啥 Matlab 独立应用程序退出并出现错误“TooManyOutputs”?【英文标题】:Why does Matlab standalone application exit with error "TooManyOutputs"?为什么 Matlab 独立应用程序退出并出现错误“TooManyOutputs”? 【发布时间】:2012-02-20 13:32:22 【问题描述】:我在 Matlab 中创建了一个独立的应用程序,实际上它可以工作,它会显示所需的输出,但它会立即关闭,甚至没有足够的时间检查输出并在 DOS(独立模式)上阅读错误消息:
MATLAB:TooManyOutputs
Warning: 1 visible figure(s) exist at MCR Termination
If your application has terminated unexpectedly, please note that
applications generated by the MATLAB Compiler terminate when there are no
visible figure windows. See the documentation for WaitForFiguresToDie and
WAITFORCALLBACKS for more information.
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:查看您消息的第一行,TooManyOutputs
表明您在表单的某处有作业
[a b] = somefunction(parameters)
所以您希望将somefunction
的输出放入a
和b
,但somefunction
只返回一个参数。这个bug导致你的程序终止,然后MCR实现程序退出而不关闭你的图形窗口,导致后面的错误信息。
如果我对 TooManyOutputs
的看法是正确的,那么当您直接在 Matlab 中运行代码时,您应该已经收到了该错误消息;您在创建独立应用程序之前尝试过吗?
如果这没有帮助,您可能应该发布一些代码,以便更清楚问题可能来自哪里。
【讨论】:
感谢您的回复,所以我猜这会导致错误 [xi,yi] = getpts1(get(p1,'Parent'));但我在 matlab 命令窗口上没有得到同样的错误,它工作得很好。如何解决:Dgetpts1
似乎不是标准功能,所以我无能为力。如果您的意思是getpts
,这可能不是您的问题,因为该函数确实返回两个值。
我把它改成了getpts
,它不会造成麻烦,它仍然可以正常工作,但仍然出现同样的错误,这个[y,x,z]=size(newimg);
怎么办?这可以给错误吗?以上是关于为啥 Matlab 独立应用程序退出并出现错误“TooManyOutputs”?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在 opticFlow =opticalFlowHS 处出现错误; matlab2015a
使用来自 arduino 串行打印的数据更新 matlab 中的线图,为啥会出现“数组形状错误”错误?