File:Drum vibration mode03.gif
From Wikimedia Commons, the free media repository
Jump to navigation
Jump to search
Drum_vibration_mode03.gif (250 × 130 pixels, file size: 116 KB, MIME type: image/gif, looped, 19 frames, 1.9 s)
File information
Structured data
Captions
DescriptionDrum vibration mode03.gif | Illustration of vibrations of a drum. |
Date | (UTC) |
Source | self-made with MATLAB |
Author | Oleg Alexandrov |
Other versions | Derivative works of this file: Membrane-normal-modes.gif |
Public domainPublic domainfalsefalse |
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. |
function main()
k = 0; % k-th asimuthal number and bessel function
p = 3; % 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]);
shading faceted;
colormap autumn;
% viewing angle
view(108, 42);
axis([-1, 1, -1, 1, -1, 1]);
axis off;
file=sprintf('Frame_mode%d%d_%d.png', k, p, 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% Frame_mode03* Drum_vibration_mode03.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
disp('Root not found!');
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 11:12, 18 March 2023 | 250 × 130 (116 KB) | Dndnrmn1 (talk | contribs) | Reverted to version as of 20:55, 8 June 2008 (UTC) | |
00:18, 9 August 2017 | 250 × 130 (116 KB) | Dogbert66 (talk | contribs) | Changed the frame period from 100 ms per frame to 64 ms per frame. Otherwise the relative frequencies of Drum_vibration_mode01.gif, Drum_vibration_mode02.gif, and Drum_vibration_mode03.gif are wrong. | ||
20:55, 8 June 2008 | 250 × 130 (116 KB) | Oleg Alexandrov (talk | contribs) | {{Information |Description={{en|1=On Illustration of en:vibrations of a circular drum}} |Source=Own work by uploader |Author=Oleg Alexandrov |Date=~~~~ |Permission={{PD-self}} |other_versions= }} {{ImageUpload|full}} |
You cannot overwrite this file.
File usage on Commons
The following 4 pages use this file:
File usage on other wikis
The following other wikis use this file:
- Usage on ast.wikipedia.org
- Usage on ca.wikipedia.org
- Usage on de.wikipedia.org
- Usage on el.wikipedia.org
- Usage on en.wikipedia.org
- Usage on en.wikiversity.org
- Usage on es.wikipedia.org
- Usage on fr.wikipedia.org
- Usage on ko.wikipedia.org
- Usage on sq.wikipedia.org
- Usage on sr.wikipedia.org
- Usage on te.wikipedia.org