Real-time animation in Matlab, with keyboard call-backs


Updated 11 Dec 2015

View License

This function is called to generate an animation from data. The user passes time and state data as vectors, as well as function handle to draw the system. Animate will attempt to plot the system at the desired rate. Keyboard call-backs are provided to allow the user to pause the animation, speed-up or slow-down, jump forward or backward by a frame, or restart.
% Animate is used to animate a system with state x at the times in t.
% t = [1xM] vector of times, Must be monotonic: t(k) < t(k+1)
% x = [NxM] matrix of states, corresponding to times in t
% P = animation parameter struct, with fields:
% .plotFunc = @(t,x) = function handle to create a plot
% t = a scalar time
% x = [Nx1] state vector
% .speed = scalar multiple of time, for playback speed
% .figNum = (optional) figure number for plotting. Default = 1000.
% .verbose = set to false to prevent printing details. Default = true;
% Animation based on data in t and x.
% Keyboard commands during simulation:
% 'space' - toggle pause
% 'r' - reset animation
% 'uparrow' - go faster
% 'downarrow' - go slower
% 'rightarrow' - jump forward by 5 frames
% 'leftarrow' - jump backward by 5 frames
% 'esc' - quit animation

Cite As

Matthew Kelly (2023). animate (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Animation in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

improved description