Drum_vibration_mode21.gif (248 × 130 پىكسېل، ھۆججەت چوڭلۇقى: 230 KB، MIME تىپى: image/gif, دەۋرىيلەنگەن, 19 كاندۇك, 1.9s)

بۇ ھۆججەت ۋىكى ۋاستە ھەمبەھىر دىن كەلگەن، ئۇ باشقا قۇرۇلۇشتا ئىشلىتىلىشى مۇمكىن. ھۆججەت چۈشەندۈرۈش بېتى نىڭ چۈشەندۈرۈشى تۆۋەندە كۆرسىتىلىدۇ.

چۈشەندۈرۈش Illustration of vibrations of a drum.
چېسلا (UTC)
مەنبە self-made with MATLAB
يازغۇچى Oleg Alexandrov
 
This diagram was created with MATLAB.
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

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

depicts ئىنگلىزچە

creator ئىنگلىزچە

some value

author name string ئىنگلىزچە: Oleg Alexandrov
Wikimedia username ئىنگلىزچە: Oleg Alexandrov

copyright status ئىنگلىزچە

inception ئىنگلىزچە

12 يانۋار 2008

ھۆججەت تارىخى

چېسلا/ۋاقىت چېكىلسە ئەينى ۋاقىتتا كۆرۈلگەن ھۆججەتنى كۆرسىتىدۇ.

چېسلا/ۋاقىتكىچىك سۈرەتئۆلچەمئىشلەتكۈچىئىزاھات
نۆۋەتتىكى23:51, 4 نويابىر 202323:51, 4 نويابىر 2023 نىڭ كىچىك سۈرەت نەشرى248 × 130 (230 KB)ReneeWritesReverted to version as of 04:46, 16 January 2008 (UTC)
07:04, 5 ئاپرېل 202307:04, 5 ئاپرېل 2023 نىڭ كىچىك سۈرەت نەشرى250 × 168 (239 KB)Dndnrmn2Reverted to version as of 06:33, 12 January 2008 (UTC)
04:46, 16 يانۋار 200804:46, 16 يانۋار 2008 نىڭ كىچىك سۈرەت نەشرى248 × 130 (230 KB)Oleg AlexandrovStrip caption, looks better like this
06:33, 12 يانۋار 200806:33, 12 يانۋار 2008 نىڭ كىچىك سۈرەت نەشرى250 × 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

تۆۋەندىكى بەت بۇ ھۆججەتنى ئىشلىتىدۇ:

ئورتاق ھۆججەت ئىشلىتىلىشى

تۆۋەندىكى باشقا ۋىكىلار بۇ ھۆججەتنى ئىشلىتىدۇ:

View more global usage of this file.