File:Drum vibration mode11.gif

Drum_vibration_mode11.gif(130 × 248 pixels, file size: 243 KB, MIME type: image/gif, looped, 19 frames, 1.9 s) This is a file from the Wikimedia Commons. The description on its description page there is shown below. Commons is a freely licensed media file repository. You can help.
 Description Illustration of vibrations of a drum. Date 12 January 2008, 06:21 (UTC) Source self-made with MATLAB Author Oleg Alexandrov This diagram was created with MATLAB. I, the copyright holder of this work, release this work into the public domain. This applies worldwide.In some countries this may not be legally possible; if so:I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

Source code (MATLAB)

function main()

k = 1; % k-th asimuthal number and bessel function
p = 1; % p-th bessel root

q=find_pth_bessel_root(k, p);

N=20; % used for plotting

% Get a grid
R1=linspace(0.0, 1.0, N);
Theta1=linspace(0.0, 2*pi, N);
[R, Theta]=meshgrid(R1, Theta1);
X=R.*cos(Theta);
Y=R.*sin(Theta);

T=linspace(0.0, 2*pi/q, N); T=T(1:(N-1));

for iter=1:length(T);

t = T(iter);
Z=sin(q*t)*besselj(k, q*R).*cos(k*Theta);

figure(1); clf;
surf(X, Y, Z);
caxis([-1, 1]);
colormap autumn;

% viewing angle
view(108, 42);

axis([-1, 1, -1, 1, -1, 1]);
axis off;

H=text(0, -0.3, 1.4, sprintf('(%d, %d) mode', k, p), 'fontsize', 25);

file=sprintf('Frame%d.png', 1000+iter);
disp(sprintf('Saving to %s', file));
print('-dpng',  '-zbuffer',  '-r100', file);

pause(0.1);
end

% converted to gif with the command
% convert -antialias -loop 10000 -delay 10  -scale 50% Frame10* Drum_vibration_mode11.gif

function r = find_pth_bessel_root(k, p)

% a dummy way of finding the root, just get a small interval where the root is

X=0.5:0.5:(10*p+1); Y = besselj(k, X);
[a, b] = find_nthroot(X, Y, p);

X=a:0.01:b; Y = besselj(k, X);
[a, b] = find_nthroot(X, Y, 1);

X=a:0.0001:b; Y = besselj(k, X);
[a, b] = find_nthroot(X, Y, 1);

r=(a+b)/2;

function [a, b] = find_nthroot(X, Y, n)

l=0;

m=length(X);
for i=1:(m-1)
if ( Y(i) >= 0  & Y(i+1) <= 0 ) | ( Y(i) <= 0  & Y(i+1) >= 0 )
l=l+1;
end

if l==n
a=X(i); b=X(i+1);

%disp(sprintf('Error in finding the root %0.9g', b-a));
return;
end
end

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current16:01, 14 October 2019 130 × 248 (243 KB)SteinsplitterBotBot: Image rotated by 90°
04:45, 16 January 2008 248 × 130 (214 KB)Oleg AlexandrovStrip caption, looks better like this
07:07, 12 January 2008 250 × 164 (223 KB)Oleg Alexandrov{{Information |Description=Illustration of vibrations of a drum. |Source=self-made with MATLAB |Date=06:21, 12 January 2008 (UTC) |Author= Oleg Alexandrov |Permission= |other_versions= }} {{PD-self

Global file usage

The following other wikis use this file:

• Usage on ca.wikipedia.org
• Usage on de.wikipedia.org
• Usage on en.wikipedia.org
• Usage on es.wikipedia.org
• Usage on fr.wikipedia.org
• Usage on ko.wikipedia.org
• Usage on sq.wikipedia.org
• Usage on te.wikipedia.org