These two examples, which were originally posted in the MATLAB newsgroup comp.soft-sys.matlab, demonstrate how to use the nested function capability of MATLAB 7.0 (R14) and later versions to reduce the number of parameters that need to be passed into and between callbacks inside a GUI M-file. Each nested function in one of these examples is contained in its own cell; if you enable cell mode in the MATLAB Editor and place the cursor in a given nested function, you will be able to see where each nested function begins and ends. Each example is extensively commented and indicates when variables from a parent function's workspace are being used by a nested function.
To execute these examples, simply unzip the ZIP file and place the contents in a directory on your MATLAB path, then execute "red_blue" or "red_blue_two" without the quotes at the MATLAB prompt.
For more information on nested functions, please check the Programming section of the MATLAB documentation.
NOTE: These examples will only function using MATLAB 7.0 (R14) and later. Versions of MATLAB prior to 7.0 did not have the ability to nest functions and you will receive an error about an undefined function or variable 'red' if you try to use it in earlier versions.