Running a GUI requires opening the .fig file in GUIDE
matlab, matlab-figure, matlab-guide, user-interface
Solution
When you create a GUI using GUIDE, it should create both a `.fig` file and a `.m` file. To run it, you should run the `.m` file, rather than double-clicking the `.fig` file.
The `.fig` file just contains static information about the layout of the GUI - there is nothing executable in it that would initialise `handles` and so on.
Problem
I am trying to run a MATLAB GUI I have created. If I open the .fig file using GUIDE and press the run button there, it runs perfectly. However, when I double-click the .fig file in the 'Current Folder' section of MATLAB, it seems to be unable to find the `handles` variable. This causes it to give an error whenever `handles` is used. Why does this happen? Is there a fix/workaround? I'm using MATLAB R2011, but I've tried it on R2012 as well. The code runs fine, and displays the GUI fine, but the moment it encounters the `handles` variable, it gives the following error: Attempt to reference field of non-structure array.