Berkas:Drum vibration mode21.gif

Drum_vibration_mode21.gif(248 × 130 piksel, ukuran berkas: 230 KB, tipe MIME: image/gif, melingkar, 19 frame, 1,9 d)

Berkas ini berasal dari Wikimedia Commons dan mungkin digunakan oleh proyek-proyek lain. Deskripsi dari halaman deskripsinya ditunjukkan di bawah ini.

Deskripsi Illustration of vibrations of a drum.
Tanggal (UTC)
Sumber self-made with MATLAB
Pembuat Oleg Alexandrov
 
GIF Grafik ini dibuat menggunakan MATLAB.
Public domain Saya, pemegang hak cipta karya ini, merilis karya ini ke domain umum. Lisensi ini berlaku di seluruh dunia.
Di sejumlah negara, tindakan ini tidak memungkinkan secara sah; bila seperti itu:
Saya memberikan siapa pun hak untuk menggunakan karya ini untuk tujuan apa pun, tanpa persyaratan apa pun, kecuali yang ditetapkan oleh hukum.

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

menggambarkan

12 Januari 2008

Riwayat berkas

Klik pada tanggal/waktu untuk melihat berkas ini pada saat tersebut.

Tanggal/WaktuMiniaturDimensiPenggunaKomentar
terkini4 November 2023 23.51Miniatur versi sejak 4 November 2023 23.51248 × 130 (230 KB)ReneeWritesReverted to version as of 04:46, 16 January 2008 (UTC)
5 April 2023 07.04Miniatur versi sejak 5 April 2023 07.04250 × 168 (239 KB)Dndnrmn2Reverted to version as of 06:33, 12 January 2008 (UTC)
16 Januari 2008 04.46Miniatur versi sejak 16 Januari 2008 04.46248 × 130 (230 KB)Oleg AlexandrovStrip caption, looks better like this
12 Januari 2008 06.33Miniatur versi sejak 12 Januari 2008 06.33250 × 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

Halaman berikut menggunakan berkas ini:

Penggunaan berkas global

Wiki lain berikut menggunakan berkas ini:

Lihat lebih banyak penggunaan global dari berkas ini.