Drum_vibration_mode21.gif(248 × 130 piksels, lêergrootte: 230 KG, MIME-tipe: image/gif, herhalend, 19 rame, 1,9 s)

Hierdie lêer kom vanaf Wikimedia Commons en kan ook in ander projekte gebruik word. Die beskrywing op die lêer se inligtingsblad word hieronder weergegee.

Beskrywing Illustration of vibrations of a drum.
Datum (UTC)
Bron self-made with MATLAB
Outeur Oleg Alexandrov
 
This diagram was created with MATLAB.
Public domain Ek, die outeursreghouer van hierdie werk, stel dit hiermee in die publieke domein vry. Dit geld wêreldwyd.
In sommige lande is dit dalk nie wettiglik moontlik nie. Indien so:
Ek verleen aan enigiemand die reg om hierdie werk te gebruik vir enige doel, sonder voorwaardes, tensy sulke voorwaardes deur die wet vereis word.

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

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

uitbeelding

Lêergeskiedenis

Klik op die datum/tyd om te sien hoe die lêer destyds gelyk het.

Datum/TydDuimnaelDimensiesGebruikerOpmerking
huidig23:51, 4 November 2023Duimnaelskets vir weergawe vanaf 23:51, 4 November 2023248 × 130 (230 KG)ReneeWritesReverted to version as of 04:46, 16 January 2008 (UTC)
07:04, 5 April 2023Duimnaelskets vir weergawe vanaf 07:04, 5 April 2023250 × 168 (239 KG)Dndnrmn2Reverted to version as of 06:33, 12 January 2008 (UTC)
04:46, 16 Januarie 2008Duimnaelskets vir weergawe vanaf 04:46, 16 Januarie 2008248 × 130 (230 KG)Oleg AlexandrovStrip caption, looks better like this
06:33, 12 Januarie 2008Duimnaelskets vir weergawe vanaf 06:33, 12 Januarie 2008250 × 168 (239 KG)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

Die volgende 2 bladsye gebruik dié lêer:

Globale lêergebruik

Die volgende ander wiki's gebruik hierdie lêer:

Wys meer globale gebruik van die lêer.