logo for matrixlab-examples.com
[?] Subscribe To This Site

XML RSS
Add to Google
Add to My Yahoo!
Add to My MSN
Subscribe with Bloglines


Home
Matrixmania Blog
Contact
-> Sitemap <-
Matlab Books
Quick Matlab Guide
Matlab Tutorials
Matlab Examples
Matlab Flow Control
Boolean Algebra
Linear Algebra
Matlab 2D Plots
Matlab 3D Plots
Matlab GUI
Matlab Cookbook I
Matlab Cookbook II
Probability and Stats
Financial Applications
Forums and Help
Relevant Links
Fun!
Your own Website?
Terms/Policies
leftimage for matrixlab-examples.com

Simple Animation in Matlab




If we have some data representing a system or a function at several time intervals, we may want to take advantage of Matlab’s simple animation capabilities.  We're going to expose the basic method or algorithm for animations.

In this example we’re going to work with just three special instructions. The idea is to store every figure as a frame of the ‘movie’, with each frame stored as a column vector of a matrix, an then play all the frames on the screen. 

moviein(nr_frames): we initialize the matrix that will keep the frames, with the number of frames to be generated. 

getframe: with this instruction we keep the information of a given figure and ‘load’ a temporary matrix with information. 

movie(matrix, times, FPS): this is used to play the movie after its generation. Parameter ‘matrix’ is the saved data, ‘times’ the number of times that the movie will be played back, and ‘FPS’ means ‘frames per second’ (the default is 12).
 

Let’s try this simple animation example: 

% Define number of frames
nr_fr = 10;
% Initialize matrix using 'moviein'
frames = moviein(nr_fr); 

% Generate frames with any plotting function. 
% We use a cosine with variable frequency.

t = 0 : .01 : 6;
f = 1;

for i = 1 : nr_fr
    f = f * 1.25; w = 2 * pi * f;
    y = cos(w*t);
    plot(t, y);
    title(
'Recording movie...')
   
% Get every frame with 'getframe' and load the appropriate       % matrix.
    frames(:, i) = getframe;
end

% Save the matrix so that this movie can be loaded later
save frames 

This is the first frame of the recording:

simple animation in Matlab

Now you can play back the movie: 

% Play the movie once, 2 FPS.
title('Movie being played back...')
movie(frames, 1, 2)

 

This is the last frame of the animation:

Matlab: algorithm animations


Done!





From 'Simple Animation' to home
From 'Simple Animation' to 2D Menu


footer for simple animation page