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
Welcome Matrixmania Blog
-> Sitemap / Search <-
-> Books <-
Forums and Help
Contact
Basics Quick Matlab Guide
Matlab Tutorial
Matlab Examples
Matlab Flow Control
Boolean Logic
Plots and GUI Matlab 2D Plots
Matlab 3D Plots
Matlab GUI
Applications Calculus
Linear Algebra
Matlab Cookbook I
Matlab Cookbook II
Electrical Calculations
Probability and Stats
Finance Apps
Other Relevant Links
Notes on Computing
Online Calculators
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

Top

Animation: comets

3D Animation



footer for simple animation page