Dosya:Drum vibration mode21.gif

Drum_vibration_mode21.gif((248 × 130 piksel, dosya boyutu: 230 KB, MIME tipi: image/gif), döngüye girdi, 19 kare, 1,9 sn)


Açıklama Illustration of vibrations of a drum.
Tarih (UTC)
Kaynak self-made with MATLAB
Yazar Oleg Alexandrov
 
Bu GIF grafik MATLAB ile oluşturuldu.
Public domain Ben, bu işin telif sahibi, bu işi kamu malı olarak yayınlıyorum. Bu dünya çapında geçerlidir.
Bazı ülkelerde bu yasal olarak mümkün olmayabilir; öyleyse:
Ben, bu işi herhangi bir amaç için, herhangi bir şart olmaksızın, yasalarca gerekli olmadıkça, herkesin kullanmasına izin veriyorum.

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

Altyazılar

Bu dosyanın temsil ettiği şeyin tek satırlık açıklamasını ekleyin.

Bu dosyada gösterilen öğeler

betimlenen

12 Ocak 2008

Dosya geçmişi

Dosyanın herhangi bir zamandaki hâli için ilgili tarih/saat kısmına tıklayın.

Tarih/SaatKüçük resimBoyutlarKullanıcıYorum
güncel23.51, 4 Kasım 202323.51, 4 Kasım 2023 tarihindeki sürümün küçültülmüş hâli248 × 130 (230 KB)ReneeWritesReverted to version as of 04:46, 16 January 2008 (UTC)
07.04, 5 Nisan 202307.04, 5 Nisan 2023 tarihindeki sürümün küçültülmüş hâli250 × 168 (239 KB)Dndnrmn2Reverted to version as of 06:33, 12 January 2008 (UTC)
04.46, 16 Ocak 200804.46, 16 Ocak 2008 tarihindeki sürümün küçültülmüş hâli248 × 130 (230 KB)Oleg AlexandrovStrip caption, looks better like this
06.33, 12 Ocak 200806.33, 12 Ocak 2008 tarihindeki sürümün küçültülmüş hâli250 × 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

Bu görüntü dosyasına bağlantısı olan sayfalar:

Küresel dosya kullanımı

Aşağıdaki diğer vikiler bu dosyayı kullanır:

Bu dosyanın daha fazla küresel kullanımını görüntüle.