Vaizdas:Drum vibration mode21.gif

Drum_vibration_mode21.gif(248 × 130 taškų, rinkmenos dydis: 230 KiB, MIME tipas: image/gif, ciklinis, 19 kadrų, 1,9 s)

Ši byla yra iš bendros Wikimedia Commons nemokamų resursų duomenų bazės, palaikomos Wikimedia Foundation organizacijos. Norėdami sužinoti licencijavimo smulkmenas, žiūrėkite paveikslėlio aprašymą
Paveikslėlio aprašymas
Paveikslėlio aprašymas
Į paveikslėlio aprašymą
Aprašymas Illustration of vibrations of a drum.
Data (UTC)
Šaltinis self-made with MATLAB
Autorius Oleg Alexandrov
 
Šis GIF paveikslėlis sukurtas su MATLAB.
Public domain Aš, šio darbo autorinių teisių savininkas, šį darbą skelbiu viešo naudojimo. Tai galioja visame pasaulyje.
Kai kuriose šalyse tai negali būti legaliai leidžiama; jei taip:
Suteikiu teisę naudoti šį darbą bet kokiai paskirčiai, be jokių sąlygų, nebent jos reikalaujamos įstatymų.

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

vaizduoja

12 sausio 2008

Rinkmenos istorija

Paspauskite ant datos/laiko, kad pamatytumėte rinkmeną tokią, kokia ji buvo tuo metu.

Data/LaikasMiniatiūraMatmenysNaudotojasPaaiškinimas
dabartinis02:51, 5 lapkričio 2023Versijos 02:51, 5 lapkričio 2023 miniatiūra248 × 130 (230 KiB)ReneeWritesReverted to version as of 04:46, 16 January 2008 (UTC)
10:04, 5 balandžio 2023Versijos 10:04, 5 balandžio 2023 miniatiūra250 × 168 (239 KiB)Dndnrmn2Reverted to version as of 06:33, 12 January 2008 (UTC)
07:46, 16 sausio 2008Versijos 07:46, 16 sausio 2008 miniatiūra248 × 130 (230 KiB)Oleg AlexandrovStrip caption, looks better like this
09:33, 12 sausio 2008Versijos 09:33, 12 sausio 2008 miniatiūra250 × 168 (239 KiB)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

Paveikslėlis yra naudojamas šiuose puslapiuose:

Visuotinis rinkmenos naudojimas

Ši rinkmena naudojama šiose viki svetainėse:

Žiūrėti visuotinį šios rinkmenos naudojimą.