Drum_vibration_mode12.gif(249 × 170 piksler, filstørrelse: 148 KB, MIME-type: image/gif, gjentas, 19 rammer, 1,9 s)


Wikimedia Commons' logo
Beskrivelse Illustration of vibrations of a drum.
Dato (UTC)
Kilde self-made with MATLAB
Opphavsperson Oleg Alexandrov
Andre versjoner

Derivative works of this file:

  A raster version of this image is available. It should be used in place of this vector image when superior.

File:Harmonic partials on strings.svg → File:Drum vibration mode12.gif

In general, it is better to use a good SVG version.
 
Denne GIF rastergrafikken ble laget med MATLAB.
Public domain Jeg, opphavsrettensholderen til dette verket, frigir dette verket til allmennheten. Dette gjelder på verdensbasis.
I enkelte land kan dette være juridisk umulig. I så fall:
Jeg gir hvem som helst retten til å bruke dette verket for ethvert formål, uten noen vilkår, med mindre slike vilkår kreves ved lov.

Source code (MATLAB)

function VibratingDrum()

k = 1; % k-th asimuthal number and bessel function
p = 2; % 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

% To save as a GIF comment out the next the 3 lines
%   file=sprintf('Frame%d.png', 1000+iter);
%   fprintf('Saving to %s\n', file)
%   print('-dpng',  '-opengl',  '-r100', file);

  pause(0.01)
end

end

   % converted to gif with the command (run in command shell)
   % convert -antialias -loop 10000 -delay 10  -scale 50% Frame10* Drum_vibration_mode12.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;
end
   
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!')

end

Bildetekster

Legg til en kort forklaring på hva filen representerer

Elementer som er med i denne fila

motiv

image/gif

Filhistorikk

Klikk på et tidspunkt for å vise filen slik den var på det tidspunktet.

Dato/klokkeslettMiniatyrbildeDimensjonerBrukerKommentar
nåværende30. mar. 2023 kl. 05:52Miniatyrbilde av versjonen fra 30. mar. 2023 kl. 05:52249 × 170 (148 KB)Dndnrmn1Reverted to version as of 07:10, 12 January 2008 (UTC)
16. jan. 2008 kl. 06:45Miniatyrbilde av versjonen fra 16. jan. 2008 kl. 06:45248 × 130 (138 KB)Oleg AlexandrovStrip caption, looks better like this
16. jan. 2008 kl. 06:45Miniatyrbilde av versjonen fra 16. jan. 2008 kl. 06:45248 × 130 (138 KB)Oleg AlexandrovStrip caption, looks better like this
12. jan. 2008 kl. 09:10Miniatyrbilde av versjonen fra 12. jan. 2008 kl. 09:10249 × 170 (148 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

Den følgende siden bruker denne filen:

Global filbruk

Følgende andre wikier bruker denne filen:

Vis mer global bruk av denne filen.