评估uicontrol回调时出现MATLAB错误

时间:2012-03-23 16:38:23

标签: matlab

我有一个完美的MATLAB脚本;它没有任何问题。然后我将其移动到MATLAB工具箱并将其添加到缓存中,以便我可以从命令行轻松运行它。

但是,现在我已将其移至工具箱中,我收到这些错误消息!脚本或其他任何内容都没有变化。我用它移动了与脚本相关的所有子文件夹和其他文件。

我不知道为什么它会给我这个错误信息。更糟糕的是,每次运行脚本时都不会这样做!有时如果我关闭MATLAB并再次打开它,脚本运行正常。有时我只需点击GUI中的任何内容即可运行!但是下次不会呢?你能帮帮我吗?

这是它给我的两条错误消息:

??? Too many outputs requested.  Most likely cause is missing [] around
left hand side that has a comma separated list expansion.

Error in ==> trials at 13
picture1 = files1.name;

Error in ==> semjudge>TRIAL_Callback at 285
trials;

??? Error using ==> waitfor
Error while evaluating uicontrol Callback

??? Error using ==> nchoosek at 31
The first argument has to be a scalar or a vector.

Error in ==> semjudge>START_Callback at 194
combos = nchoosek(1:nFiles, 2);

??? Error using ==> waitfor
Error while evaluating uicontrol Callback

导致这些错误的原因是,它们只出现了一些(在.m文件或​​GUI或其他任何内容中没有任何变化......)?

令我感到沮丧的是,我没有尽头。尽管没有做出任何改变,它仍然完美无缺,并且停止了。它是否给我错误是不一致的。我找不到任何模式,它什么时候工作,什么时候不工作。它给我带来的任何错误都没有任何意义。

.m文件太长,无法在此处发布,因此您可以在此处看到它们:

http://textuploader.com/?p=6&id=cKokK(semjudge.m) http://textuploader.com/?p=6&id=vB9sD(trials.m)

1 个答案:

答案 0 :(得分:1)

您的脚本似乎无法始终找到某些图像文件。

在trial.m files1中可能是一个空结构数组,因此对图片的赋值失败。这可能是因为目录没有找到合适的文件。

在semjudge.m中,如果没有文件,nFiles为0,那么1:nFiles就是空数组。