The user passes time and state data to the function, as well as a handle for plotting the system at a single state and time. SaveAnimation then marches through time at the desired frame rate, generating a mp4 animation as it goes.
% saveAnimation creates a mp4 video file, given data and a draw function.
% 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
% .figNum = (optional) figure number for plotting. Default = 1000.
% .frameRate = desired frame rate for the animation (real time)
% .fileName = desired file name (do not include extension)
% Animation file based on data in t and x.
% The animation works by looping through every element in the input
% matricies, assuming that they are being presented at the desired frame
Matthew Kelly (2019). saveAnimation(t,x,P) (https://www.mathworks.com/matlabcentral/fileexchange/54436-saveanimation-t-x-p), MATLAB Central File Exchange. Retrieved .