Pendulum Waves Animation in MATLAB
The Pendulum Waves video is awesome and the system has been simulated in Mathematica (twice), Maple and probably every other programming language by now. During a bout of insomnia I used the Mathematica code written by Matt Henderson as inspiration and made a simple MATLAB version. Here’s the video
Here’s the code.
freqs = 5:15;
num = numel(freqs);
lengths = 1./sqrt(freqs);
piover6 = pi/6;
figure
axis([-0.3 0.3 -0.5 0]);
axis off;
org=zeros(size(freqs));
xpos=zeros(size(freqs));
ypos=zeros(size(freqs));
pendula = line([org;org],[org;org],'LineWidth',1,'Marker','.','MarkerSize',25 ...
,'Color',[0 0 0],'visible','off' );
% Open the avi file
vidObj = VideoWriter('pendula_wave.avi');
open(vidObj);
count =0;
for t=0:0.001:1
count=count+1;
omegas = 2*pi*freqs*t;
xpos = sin(piover6*cos(omegas)).*lengths;
ypos = -cos(piover6*cos(omegas)).*lengths;
for i=1:num
set(pendula(i),'visible','on');
set(pendula(i),'XData',[0 xpos(i)]);
set(pendula(i),'YData',[0 ypos(i)]);
drawnow
end
currFrame = getframe;
writeVideo(vidObj,currFrame)
F(i) = getframe;
end
% Close the file.
close(vidObj);

Nice!
One annoying thing since writing my code though is that it should be length = 1/freq^2
I didn’t rearrange the formula for lengths and frequencies correctly. Still makes a cool animation.
M
Because everyone is doing them, I also did one:
http://shuisman.com/?p=1370
very nice it is too. Cheers Sander
??? Undefined function or method ‘VideoWriter’ for input arguments of type ‘char’.
Error in ==> Untitled5 at 16
vidObj = VideoWriter(‘pendula_wave.avi’);
what could be??
What version of MATLAB are you using?
MATLAB R2009a
That explains it then. The VideoWriter function was introduced in 2010b
thanks
i want to save my movie as ‘avi’ file, i working with R2009a too. How do I do that?
I wrote :”myVideo = VideoWriter(‘C:\….\palletmapping.avi’);”
And I received an error notice:
??? Undefined function or method ‘VideoWriter’ for input arguments of type ‘char’.
thanks!!
would this work for python?
Im having problem in line 11 pendula=line….
Any one plz guide me