2012-03-23 159 views
0

我有一個MATLAB腳本,工作得很好,沒有任何問題。然後我將它移入MATLAB工具箱並將其添加到緩存中,以便我可以從命令行輕鬆運行它。MATLAB錯誤,同時評估uicontrol回調

但是,現在我已將它移到工具箱中,我收到了這些錯誤消息!腳本或任何內容都沒有改變。我用它移動了與腳本相關的所有子文件夾和其他文件。

我不知道爲什麼它給了我這個錯誤信息。更糟糕的是,每次運行腳本時都不會這樣做!有時如果我關閉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

看來你腳本並不總是能夠找到某些圖像文件。

在trials.m files1可能是一個空的結構數組,因此對圖片的分配失敗。這可能是由dir找不到合適的文件引起的。

在semjudge.m中,如果沒有文件,nFiles爲0,所以1:nFiles是空數組。

+0

任何想法可能導致這種情況發生?或者我如何修復它?照片當然存在,而且劇本有時會起作用。爲什麼它只會偶爾找不到圖像文件? – 2012-03-26 13:11:04