Aller au contenu

Fichier:Drum vibration mode21.gif

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.

Drum_vibration_mode21.gif (248 × 130 pixels, taille du fichier : 230 kio, type MIME : image/gif, en boucle, 19 trames, 1,9 s)

Ce fichier et sa description proviennent de Wikimedia Commons.

Description Illustration of vibrations of a drum.
Date (UTC)
Source self-made with MATLAB
Auteur Oleg Alexandrov
 
Ce diagramme a été créé avec MATLAB.
Public domain Moi, propriétaire des droits d’auteur sur cette œuvre, la place dans le domaine public. Ceci s'applique dans le monde entier.
Dans certains pays, ceci peut ne pas être possible ; dans ce cas :
J’accorde à toute personne le droit d’utiliser cette œuvre dans n’importe quel but, sans aucune condition, sauf celles requises par la loi.

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

Légendes

Ajoutez en une ligne la description de ce que représente ce fichier

Éléments décrits dans ce fichier

dépeint

Historique du fichier

Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.

Date et heureVignetteDimensionsUtilisateurCommentaire
actuel5 novembre 2023 à 00:51Vignette pour la version du 5 novembre 2023 à 00:51248 × 130 (230 kio)ReneeWritesReverted to version as of 04:46, 16 January 2008 (UTC)
5 avril 2023 à 08:04Vignette pour la version du 5 avril 2023 à 08:04250 × 168 (239 kio)Dndnrmn2Reverted to version as of 06:33, 12 January 2008 (UTC)
16 janvier 2008 à 05:46Vignette pour la version du 16 janvier 2008 à 05:46248 × 130 (230 kio)Oleg AlexandrovStrip caption, looks better like this
12 janvier 2008 à 07:33Vignette pour la version du 12 janvier 2008 à 07:33250 × 168 (239 kio)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

Les 2 pages suivantes utilisent ce fichier :

Usage global du fichier

Les autres wikis suivants utilisent ce fichier :

Voir davantage sur l’utilisation globale de ce fichier.