GUIHistory automatically generates MATLAB code based on a users actions in a GUI.
Updated 28 Jul 2010

View License

Record a 'macro' from a GUI.

GUIHistory is used as a gateway function in a GUI callback. When user-written functions are called via GUIHistory instead of directly, GUIHistory generates the MATLAB code needed to replicate the commands given by the user on-the-fly. Multiple data files or MATLAB figures can then be analysed with just a few mouse clicks.
This generated code is written to the GUI figure application data area and can be saved as a ready-to-run MATLAB m-file.

GUIHistory handles user-written routines with pretty well any input: numeric, logical, character, scalars, vectors, matrices, cell arrays, structures, function handles and objects. It also neatly formats the code when parameter name/value pairs are used.

GUIHistory makes the following assumptions about your code: [1] that first argument to a function call is the handle of the relevant figure and [2] that user-written functions 'know' how to access the relevant data given this function handle. These assumptions will usually be met with GUI-based code.

Typically, you would add a few menu items to your GUI to control GUIHistory e.g. 'Start Recording', 'Pause Recording', 'Save History' etc. To help with writing the m-file, GUIHistory has a generic local function that can be called from the user's GUI menus.

GUIHistory is a generic version of the scExecute function originally developed as part of the sigTOOL project at King's College London.

Cite As

Malcolm Lidierth (2024). GUIHistory (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2006a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on File Operations in Help Center and MATLAB Answers
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes