Spherical_wave2.gif (178 × 178 pixels, tamanho: 117 kB, tipo MIME: image/gif, cíclico, 9 quadros, 1,4 s)
Este arquivo é do Wikimedia Commons e pode ser utilizado por outros projetos. Sua página de descrição de arquivo é reproduzida abaixo.
Descrição do arquivo
DescriçãoSpherical wave2.gif | Illustration of a en:Spherical wave. Here the negative part of the wave is truncated. This needs to be corrected at some point. |
Data | (UTC) |
Fonte | self-made with MATLAB |
Autor | Oleg Alexandrov |
Outras versões | Image:Spherical wave.gif |
Licenciamento
Public domainPublic domainfalsefalse |
Eu, detentor dos direitos de autor desta obra, dedico-a ao domínio público, com aplicação em todo o mundo. Em alguns países isto pode não ser legalmente possível; se assim for: Eu concedo a todos o direito de usar esta obra para qualquer fim, sem quaisquer condições, a menos que tais condições sejam impostas por lei. |
MATLAB source code
% an illustration of a spherical wave
plane_wave = 1;
spherical_wave = 2;
%wave_type = plain_wave;
wave_type = spherical_wave;
if wave_type == plane_wave
% window size
Lx=0.4;
Lx=1;
% blow up the image by this factor to display better
factor = 80;
% a small shift to be added below for graph. purposes.
shift = 0.3;
elseif wave_type == spherical_wave
Lx = 0.5;
Ly = Lx;
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));
wavenumber = 100;
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_wave2.gif
Itens retratados neste arquivo
retrata
Algum valor sem um item do Wikidata
7 novembro 2007
119 312 Byte
178 pixel
178 pixel
image/gif
43cea002a5e7ee7fbf1eeb7ceb53b020e3fdd69c
Histórico do arquivo
Clique em uma data/horário para ver como o arquivo estava em um dado momento.
Data e horário | Miniatura | Dimensões | Usuário | Comentário | |
---|---|---|---|---|---|
atual | 04h46min de 8 de novembro de 2007 | 178 × 178 (117 kB) | wikimediacommons>Oleg Alexandrov | Tweak, same license |
Uso do arquivo
As seguinte página usa este arquivo: