Matlab - Ecuaciones de Maxwell

 
Vista:
sin imagen de perfil

Ecuaciones de Maxwell

Publicado por sara (1 intervención) el 09/02/2014 17:43:48
Hola,
Me gustaría poder hacer un programa que simule, mediante el método FDTD, la evolución temporal de las ecuaciones de Maxwell en el vacío. He encontrado por internet un informe muy útil, que explica tanto las bases teóricas como la práctica; e incluye incluso un código. La página es la siguiente:
http://compinformatidf.files.wordpress.com/2009/12/topicos11.pdf
Sin embargo a la hora de teclear yo el código, no sé porque pero no em funciona.
¿Alguien podría ayudarme?
Muchas gracias!!

El código es el siguiente:

% simple1.m
clear;
% Definición de parámetros
c=3.0e8; %velocidad de la luz
lo=632.8e-9; %longitud de onda del laser
tao=lo/c; %periodo
nz=100; %particiones en z
nt=100; %pasos temporales
deltaz=lo/10; %partición espacial
deltat=deltaz/(2*c); %partición temporal
t=0.0; %valor inicial del tiempo
zf=nz*deltaz/1e-6 ; %valor inicial de x (micras)
ex(nz)=0; %inicia los valores del campo eléctrico desde cero
hy(nz)=0; %inicia los valores del campo magnético desde cero
z=deltaz*(1:nz); %inicia los valores de z
t0=2,5*tao;
spread=0,5*tao; %espesor del pulso gausiano
for n=1:nz %iniciamos el ciclo de diferencias finitas explícito
for k=2:(nz-1) %cálculo del campo eléctrico
ex(k)=ex(k)+0.5*(hy(k-1)-hy(k));
end
ex(50)=ex(50)+exp(-0.5*(t-t0).*(t-t0)/spread^2); %inicio del pulso gausiano
for k=1:(nz-1) %cálculo del campo magnético
hy(k)=hy(k)+0,5*(ex(k)-ex(k+1));
end
% axis([ 0 zf-1 1]);
plot(z/1e-6,ex);
% axis([0 zf-1 1]);
% xlabel('z(micras)');
% ylabel('E(z,t)');
%title(['n=',num2str(n,'%4.1f'),'pasos temporales']);
frame=getframe(gca);
t=n*deltat;
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder