function ondeEH;
% Dominic Grenier, juillet 2003

global mu0 eps0 d2r;

sigma=0.1;
epsr=1;
mur=1;
freq=100e6;
tmax=2.5;
zp=3;

gamma=sqrt(j*2*pi*freq*mur*mu0*(sigma+j*2*pi*freq*epsr*eps0));
alpha=real(gamma);
beta=imag(gamma);
%alpha=0.4;
%beta=2*pi;
fprintf('alpha=%7.4f\n',alpha);
fprintf('beta =%7.4f\n',beta);
eta=j*2*pi*freq*mur*mu0/(alpha+j*beta);
fprintf('eta  =%8.2f+j%8.2f = %8.2f <%4.1f°\n',...
    real(eta),imag(eta),abs(eta),angle(eta)*180/pi);
%eta=200*(1+j*1);

zmax=4*2*pi/beta;
zl=0:zmax/60:zmax;
tT=0:0.1:1;

yE=zeros(length(zl),1);
xH=yE;

yT=(0:0.05:tmax)';
zT=zp*ones(length(yT),1);
xTH=zeros(length(yT),1);

xa=[0 0];
ya=[0 0];
za=[0 zmax];
xb=[0 0];
yb=[-tmax/5 tmax];
zb=[zp zp];

[AZ,EL]=view;
M=moviein(length(tT));
for i=1:length(tT);
	xE=abs(eta)*exp(-alpha*zl).*coss(2*pi*tT(i)-beta*zl);
	yH=exp(-alpha*zl).*coss(2*pi*tT(i)-beta*zl-angle(eta));
 	xT=abs(eta)*exp(-alpha*zp)*coss(2*pi*(-yT+tT(i))-beta*zp);
	zTH=zT+exp(-alpha*zp)*coss(2*pi*(-yT+tT(i))-beta*zp-angle(eta));
	plot3(zl,-yE,xE,'r',zl,-yH,xH,'b',zT,-yT,xT,'m',zTH,-yT,xTH,'c',za,-ya,xa,'k',zb,-yb,xb,'k')
	axis([0,zmax,-tmax,1,-377,377]);
	daspect([zmax/3.5 (1+tmax)/2 377]);
	xlabel('z[m]'); ylabel('H[A/m]'); zlabel('E[V/m]');
	view(AZ,EL);
	M(:,i)=getframe;
end
movie(M,3,4)

function y=coss(x)

%y=cos(x);
y=-(x<0).*(rem(abs(x),2*pi)<3*pi/2).*cos(x)-(x>=0).*(rem(x,2*pi)>pi/2).*cos(x);
