File:Plane wave.gif

Summary

Description Illustration of a en:Plane wave
Date (UTC)
Source self-made with MATLAB
Author Oleg Alexandrov
 
This diagram was created with MATLAB.
Category:PNG created with MATLAB#Plane%20wave.gif

Licensing

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.
Category:Self-published work#Plane%20wave.gifCategory:PD-self#Plane%20wave.gif

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
Category:Wave equation Category:Files by User:Oleg Alexandrov from en.wikipedia Category:Solutions of PDE Category:Horizontal stripes Category:Animations of plane waves Category:Images with Matlab source code Category:Animations of optical patterns Category:Animated GIF files
Category:Animated GIF files Category:Animations of optical patterns Category:Animations of plane waves Category:Files by User:Oleg Alexandrov from en.wikipedia Category:Horizontal stripes Category:Images with Matlab source code Category:PD-self Category:PNG created with MATLAB Category:Self-published work Category:Solutions of PDE Category:Wave equation