Ficheiro:Drum vibration mode21.gif

Os contidos da páxina non están dispoñibles noutras linguas.
Na Galipedia, a Wikipedia en galego.

Drum_vibration_mode21.gif(248 × 130 píxeles; tamaño do ficheiro: 230 kB; tipo MIME: image/gif, en bucle, 19 fotogramas, 1,9 s)

Descrición Illustration of vibrations of a drum.
Data (UTC)
Orixe self-made with MATLAB
Autoría Oleg Alexandrov
 
Esta GIF imaxe foi creada co MATLAB.
Public domain Eu, como posuidor dos dereitos de autor desta obra, libéroa para que pertenza ao dominio público. Isto é válido en todo o mundo.
Nalgúns países, isto pode non ser legalmente posible; entón:
Concedo a calquera o dereito de empregar esta obra para o propósito que considere oportuno, sen condicións, agás aquelas que sexan requiridas pola lei.

Source code (MATLAB)

function main()

   k = 2; % 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]);
      shading faceted;
      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_mode21.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!');

Pés de foto

Engada unha explicación dunha liña do representa este ficheiro

Elementos retratados neste ficheiro

representa a

Historial do ficheiro

Prema nunha data/hora para ver o ficheiro tal e como estaba nese momento.

Data/HoraMiniaturaDimensiónsUsuarioComentario
actual4 de novembro de 2023 ás 23:51Miniatura da versión ás 23:51 do 4 de novembro de 2023248 × 130 (230 kB)ReneeWritesReverted to version as of 04:46, 16 January 2008 (UTC)
5 de abril de 2023 ás 07:04Miniatura da versión ás 07:04 do 5 de abril de 2023250 × 168 (239 kB)Dndnrmn2Reverted to version as of 06:33, 12 January 2008 (UTC)
16 de xaneiro de 2008 ás 04:46Miniatura da versión ás 04:46 do 16 de xaneiro de 2008248 × 130 (230 kB)Oleg AlexandrovStrip caption, looks better like this
12 de xaneiro de 2008 ás 06:33Miniatura da versión ás 06:33 do 12 de xaneiro de 2008250 × 168 (239 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

A seguinte páxina usa este ficheiro:

Uso global do ficheiro

Os seguintes wikis empregan esta imaxe:

Ollar o uso global deste ficheiro.