انتقل إلى المحتوى

ملف:Drum vibration mode01.gif

محتويات الصفحة غير مدعومة بلغات أخرى.
من ويكيبيديا، الموسوعة الحرة

Drum_vibration_mode01.gif(249 × 161 بكسل حجم الملف: 200 كيلوبايت، نوع MIME: image/gif، ‏ملفوف، ‏19 إطارا، ‏1٫9ث)

الوصف Illustration of vibrations of a drum.
التاريخ (UTC)
المصدر self-made with MATLAB
المؤلف Oleg Alexandrov
إصدارات أخرى أَعمالٌ مُشتقَّة مِن هذا الملفِّ:  Membrane-normal-modes.gif
 
.هذا الرسم المتجهي أُنشئ بواسطة MATLAB
Public domain أنا، مالِك حقوق تأليف ونشر هذا العمل، أجعله في النِّطاق العامِّ، يسري هذا في أرجاء العالم كلِّه.
في بعض البلدان، قد يكون هذا التَّرخيص غيرَ مُمكنٍ قانونيَّاً، في هذه الحالة:
أمنح الجميع حق استخدام هذا العمل لأي غرض دون أي شرط ما لم يفرض القانون شروطًا إضافية.

Source code (MATLAB)

function main()

   k = 0; % 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_mode01.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!');

الشروحات

أضف شرحاً من سطر واحد لما يُمثِّله هذا الملف

العناصر المصورة في هذا الملف

يُصوِّر

١٢ يناير 2008

تاريخ الملف

اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.

زمن/تاريخصورة مصغرةالأبعادمستخدمتعليق
حالي03:51، 30 مارس 2023تصغير للنسخة بتاريخ 03:51، 30 مارس 2023249 × 161 (200 كيلوبايت)Dndnrmn1Reverted to version as of 05:29, 19 March 2023 (UTC)
08:38، 19 مارس 2023تصغير للنسخة بتاريخ 08:38، 19 مارس 2023248 × 130 (192 كيلوبايت)Achim55Reverted to version as of 00:17, 9 August 2017 (UTC)
05:29، 19 مارس 2023تصغير للنسخة بتاريخ 05:29، 19 مارس 2023249 × 161 (200 كيلوبايت)Dndnrmn1Reverted to version as of 06:36, 12 January 2008 (UTC)
11:10، 18 مارس 2023تصغير للنسخة بتاريخ 11:10، 18 مارس 2023248 × 130 (192 كيلوبايت)Dndnrmn1Reverted to version as of 04:44, 16 January 2008 (UTC)
00:17، 9 أغسطس 2017تصغير للنسخة بتاريخ 00:17، 9 أغسطس 2017248 × 130 (192 كيلوبايت)Dogbert66Changed the frame period from 100 ms per frame to 230 ms per frame. Otherwise the relative frequencies of Drum_vibration_mode01.gif, Drum_vibration_mode02.gif, and Drum_vibration_mode03.gif are wrong.
04:44، 16 يناير 2008تصغير للنسخة بتاريخ 04:44، 16 يناير 2008248 × 130 (192 كيلوبايت)Oleg AlexandrovStrip caption, looks better like this
06:36، 12 يناير 2008تصغير للنسخة بتاريخ 06:36، 12 يناير 2008249 × 161 (200 كيلوبايت)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

الصفحتان التاليتان تستخدمان هذا الملف:

الاستخدام العالمي للملف

الويكيات الأخرى التالية تستخدم هذا الملف:

اعرض المزيد من الاستخدام العام لهذا الملف.