File:Drum vibration mode21.gif

Từ Wikimedia Commons, kho lưu trữ phương tiện nội dung mở
Bước tới điều hướng Bước tới tìm kiếm

Drum_vibration_mode21.gif(248×130 điểm ảnh, kích thước tập tin: 230 kB, kiểu MIME: image/gif, có lặp, 19 khung ảnh, 1,9 s)

Chú thích

Chú thích

Ghi một dòng giải thích những gì có trong tập tin này
Miêu tả Illustration of vibrations of a drum.
Ngày (UTC)
Nguồn gốc self-made with MATLAB
Tác giả Oleg Alexandrov
Matlab Logo 
This diagram was created with MATLAB.
Public domain Tôi, người giữ bản quyền của tác phẩm này, chuyển tác phẩm này vào phạm vi công cộng. Điều này có giá trị trên toàn thế giới.
Tại một quốc gia mà luật pháp không cho phép điều này, thì:
Tôi cho phép tất cả mọi người được quyền sử dụng tác phẩm này với bất cứ mục đích nào, không kèm theo bất kỳ điều kiện nào, trừ phi luật pháp yêu cầu những điều kiện đó.

Source code (MATLAB)[sửa]

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

Lịch sử tập tin

Nhấn vào ngày/giờ để xem nội dung tập tin tại thời điểm đó.

Ngày/GiờHình xem trướcKích cỡThành viênMiêu tả
hiện tại23:51, ngày 4 tháng 11 năm 2023Hình xem trước của phiên bản lúc 23:51, ngày 4 tháng 11 năm 2023248×130 (230 kB)ReneeWrites (thảo luận | đóng góp)Reverted to version as of 04:46, 16 January 2008 (UTC)
07:04, ngày 5 tháng 4 năm 2023Hình xem trước của phiên bản lúc 07:04, ngày 5 tháng 4 năm 2023250×168 (239 kB)Dndnrmn2 (thảo luận | đóng góp)Reverted to version as of 06:33, 12 January 2008 (UTC)
04:46, ngày 16 tháng 1 năm 2008Hình xem trước của phiên bản lúc 04:46, ngày 16 tháng 1 năm 2008248×130 (230 kB)Oleg Alexandrov (thảo luận | đóng góp)Strip caption, looks better like this
06:33, ngày 12 tháng 1 năm 2008Hình xem trước của phiên bản lúc 06:33, ngày 12 tháng 1 năm 2008250×168 (239 kB)Oleg Alexandrov (thảo luận | đóng góp){{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

2 trang sau sử dụng tập tin này:

Sử dụng tập tin toàn cục

Những wiki sau đang sử dụng tập tin này:

Xem thêm các trang toàn cục sử dụng tập tin này.