2013-03-28 95 views
2

我試圖運行我創建的MATLAB GUI。如果我使用GUIDE打開.fig文件並在那裏按下運行按鈕,它將完美運行。運行GUI需要在GUIDE中打開.fig文件

但是,當我雙擊MATLAB的「當前文件夾」部分中的.fig文件時,似乎無法找到handles變量。這會導致它在使用handles時發生錯誤。

爲什麼會發生這種情況?有沒有修復/解決方法?

我正在使用MATLAB R2011,但我也嘗試過R2012。代碼運行正常,並顯示GUI很好,但遇到handles變量的那一刻,它給出以下錯誤:

嘗試引用非結構數組的字段。

回答

6

當您使用GUIDE創建GUI時,它應該創建一個.fig文件和一個.m文件。要運行它,您應該運行.m文件,而不是雙擊.fig文件。

.fig文件只包含有關GUI佈局的靜態信息 - 它沒有任何可執行文件可以初始化handles等等。

+0

謝謝!這有幫助。但是,我有一個疑問。爲什麼當我打開GUIDE中的圖形並按下運行按鈕時它工作? – shashwat 2013-03-28 12:48:32

+0

因爲它運行'.m'文件。 – 2013-03-28 12:55:27

+0

@shashwat山姆在這裏有正確的答案。在GUIDE中按下運行按鈕時GUI會執行,因爲GUIDE將查找與您打開的圖形名稱相同的M-File。這在常規的MATLAB工作區中不起作用,因爲沒有什麼能告訴MATLAB你的GUI不是標準的數字。 – Doresoom 2013-03-28 12:58:37

0

那麼,如果你想檢查你的代碼,如果你想編輯GUI,通過指導命令總是運行.m文件。如果你打開.fig文件,你會得到一個你不能執行的文件,你無法分析這個文件。相應的.m文件將具有各自的GUI功能。