function Guide1D(t,dt,K,cl,f,h,m,k)
% t le temps final
% dt le pas de temps pour la representation 
% K la frequence de coupure (nombre de coeff. de Fourier)
%
%              Au = - u" 
% But :
% Resout l'equation du guide d'ondes
%              Au - (k*pi)^2 u + d^2_y u = 0  
% pour la donnee de Dirichlet en 0
%              u0 = f.
% 
% Voir la doc pour les autres parametres dans FourIntegrand.m
% qui fabrique les coefficients de Fourier

% Preparation des proprietes de la figure 1
figure(1)
WHITEBG(1,'k')
set(1,'Renderer','zbuffer')

% Calcul des coefficients de Fourier de la condition initiale u0
for j = 1:K
	FC(j) = quad8('FourIntegrand',max(0,m-h),min(1,m+h),[],[],j,cl,f,h,m) ;
end
if cl == 'nn'
    FC0 = quad8('FourIntegrand',max(0,m-h),min(1,m+h),[],[],0,cl,f,h,m) ;
end

% Grille en espace pour la representation
x = [0:0.001:1] ;

% Calcul de la solution par la formule de representation pour chaque instant
% et graphe de la solution ˆ cet instant
for tt = 0:dt:t
	z = 0*x ;
	if cl == 'dd'
		for j = 1:K
			omegaj = sqrt(j^2-k^2) ;
			z = z + FC(j) * sqrt(2) * sin(pi*j*x) * exp(-pi*omegaj*tt) ;
		end
	elseif cl == 'nd'
		for j = 1:K
			omegaj = sqrt((j-1/2)^2-k^2) ;
			z = z + FC(j) * sqrt(2) .* cos(pi*(j-1/2)*x) * exp(-pi*omegaj*tt) ;
		end
	elseif cl == 'nn'
		omegaj = i*k ;
		z = z + FC0 * exp(-pi*omegaj*tt)  ;
		for j = 1:K
			omegaj = sqrt(j^2-k^2) ;
			z = z + FC(j) * sqrt(2) .* cos(pi*j*x) * exp(-pi*omegaj*tt)  ;
		end
	end
% Une petite complication pour avoir les parties positives et negatives
% de couleurs differentes
	z = real(z) ;
	zmin = min(z,0) ;
	zmax = max(z,0) ;
	for i=1:length(x)
		if zmin(i) == 0, zmin(i) = NaN ; end
		if zmax(i) == 0, zmax(i) = NaN ; end
	end	
	pause(0.1)
	plot(x,zmin,'c',x,zmax,'b') ;
	zmaxx = max(abs(z)) ;
	axis([0 1 -max(zmaxx,1) max(zmaxx,1)])
	title(['t  =  ',num2str(tt,'%1.2f'),'      et       K = ', int2str(K),...
	'.                Maximum ˆ    ',num2str(zmaxx,'%3.3f')])
end

% Apr�s des essais standard, on peut executer (et expliquer)
% Guide1D(5,0.1,50,'nd','b',0.3,0.5,0.45)
% Guide1D(5,0.1,50,'nd','b',0.3,0.5,0.5)
% Guide1D(5,0.1,50,'nd','b',0.3,0.5,0.55)
% Guide1D(5,0.1,50,'nd','b',0.3,0.5,1.45)
% Guide1D(5,0.1,50,'nd','b',0.3,0.5,1.5)
% Guide1D(5,0.1,50,'nd','b',0.3,0.5,1.55)
