Archivo:Drum vibration mode22.gif

De testwiki
Ir a la navegación Ir a la búsqueda
Drum_vibration_mode22.gif (248 × 130 píxeles; tamaño de archivo: 239 kB; tipo MIME: image/gif, bucleado, 19 frames, 1,9s)

Este archivo es de Wikimedia Commons y puede usarse en otros proyectos. La descripción en su página de descripción del archivo se muestra debajo.

Resumen

Descripción
English: Illustration of vibrations of a drum.
Fecha (UTC)
Fuente Trabajo propio
Autor Oleg Alexandrov
Otras versiones
GIF desarrollo
InfoField
 Este diagrama fue creado con MATLAB

Licencia

Public domain Yo, el titular de los derechos de autor de esta obra, lo libero al dominio público. Esto aplica en todo el mundo.
En algunos países esto puede no ser legalmente factible; si ello ocurriese:
Concedo a cualquier persona el derecho de usar este trabajo para cualquier propósito, sin ningún tipo de condición al menos que éstas sean requeridas por la ley.

Source code (MATLAB)

function main()

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

 

   % 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_mode22.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!');

Leyendas

Añade una explicación corta acerca de lo que representa este archivo

Elementos representados en este archivo

representa a

Historial del archivo

Haz clic sobre una fecha y hora para ver el archivo tal como apareció en ese momento.

Fecha y horaMiniaturaDimensionesUsuarioComentario
actual00:50 5 nov 2023Miniatura de la versión del 00:50 5 nov 2023248 × 130 (239 kB)wikimediacommons>ReneeWritesReverted to version as of 04:46, 16 January 2008 (UTC)

La siguiente página usa este archivo: