Перейти на страницу файла на Викискладе

Файл:Plane wave.gif

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Plane_wave.gif(145 × 356 пкс, размер файла: 34 КБ, MIME-тип: image/gif, закольцованный, 9 фреймов, 1,4 с)

Краткое описание

Описание Illustration of a en:Plane wave
Дата (UTC)
Источник self-made with MATLAB
Автор Oleg Alexandrov
 
Это diagram было создано с помощью MATLAB.

Лицензирование

Public domain Я, владелец авторских прав на это произведение, передаю его в общественное достояние. Это разрешение действует по всему миру.
В некоторых странах это не может быть возможно юридически, в таком случае:
Я даю право кому угодно использовать данное произведение в любых целях без каких-либо условий, за исключением таких условий, которые требуются по закону.

MATLAB source code

% an illustration of a plane (spherical) wave

plane_wave = 1;
spherical_wave = 2;

wave_type = plane_wave;
%wave_type = spherical_wave;

if wave_type == plane_wave

   % window size
   Lx=0.4;
   Ly=1;

   wavenumber = 60;
   
   % blow up the image by this factor to display better
   factor = 30;

   % a small shift to be added below for graph. purposes.
   shift = 1; 
   
elseif wave_type == spherical_wave
      
      Lx = 0.5;
      Ly = Lx;
      wavenumber = 100; 
      
      factor = 1;
      shift = 3;
end

Mx = Lx/2;
Wy = Ly/2;

M=400;
N = floor(M*Ly/Lx);

[X, Y]=meshgrid(linspace(-Lx/2, Lx/2, M), linspace(-Ly/2, Ly/2, N));

T = 1;
nt = 10;
Time = linspace(0, T, nt);

for repeat = 1:1

   % go over one time period of the field
   for iter = 1:(nt-1) % nt is same as 1 due to peridicity
      
      t = Time(iter);
      
      if wave_type == plane_wave
         
         % plane wave
         Z = real(exp(i*wavenumber*Y)*exp(-i*2*pi*t));
         
      elseif wave_type == spherical_wave
         
         % spherical wave
         Z = exp(sqrt(-1)*wavenumber*sqrt(X.^2+Y.^2))*exp(-sqrt(-1)*2*pi*t)./sqrt(X.^2+Y.^2);
      end
      
      % plot the real part of the field Z
      
      figure(1); clf; hold on; axis equal; axis off;
      image(factor*(real(Z+shift))); % add shift to Z for graphing purposes
      colormap jet; shading interp;

      file = sprintf('Movie_frame%d.eps', 1000+iter);
      disp(file); %show the frame number we are at
      saveas(gcf, file, 'psc2') %save the current frame
      
      pause(0.1);
      
   end

end

% The following command was used to create the animated figure.
% convert -antialias -loop 10000  -delay 15 -compress LZW Movie_frame10* Spherical_wave.gif

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

изображённый объект

У этого свойства есть некоторое значение без элемента в

История файла

Нажмите на дату/время, чтобы посмотреть файл, который был загружен в тот момент.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий05:57, 7 ноября 2007Миниатюра для версии от 05:57, 7 ноября 2007145 × 356 (34 КБ)Oleg Alexandrov{{Information |Description=Illustration of a en:Plane wave |Source=self-made with MATLAB |Date=05:43, 7 November 2007 (UTC) |Author= Oleg Alexandrov |Permission= |other_versions= }} {{PD-self}} ==See also== * [[Image:Spher

Следующая страница использует этот файл:

Глобальное использование файла

Данный файл используется в следующих вики: