% foushow.m -  Demo Skript zum Zeichnen der verschiedenen
%  Darstellungsformen der Fourierkoeffizienten
% die Zeitfunktion muss im Vektor   f  vordefiniert werden
ft = fft(f);  n = length(f);
% die einfachste verfuegbare Fourier-Transformation ist fft
fmi = min(f); fma = max(f);
% Rechen-Ungenauigkeits-Effekte werden Null gesetzt
if max(real(ft)) < 1e-12;  ft = j*imag(ft);  end
if max(imag(ft)) < 1e-12 ; ft = real(ft);  end
% 1. ganz gewoehnliche Fourier-Koeffizienten
ftn = 2*ft/n;  nh = floor(n/2);  ibas=1:nh;
figure(1);  clf;  figure(2);  clf
figure(1) ; subplot(2,1,1);  bar(ibas,real(ftn(1:nh)))
subplot(2,1,2);  bar(ibas,-imag(ftn(1:nh)))
figure(2);  plot(f)  % Die Zeitfunktion erscheint in Figur 2
axis([-3 n+3 fmi-0.15*(fma-fmi) fma+0.15*(fma-fmi)])
figure(1)
% Stop durch Tastatur-Abfrage
cont = input('1. in Fig. 1: a und b-Koeffizienten - weiter?');
clf;  bar(ibas,abs(ftn(1:nh)))
% 2.  Power-Spektrum,  Stop durch Tastatur-Abfrage
cont = input('2. im Fig. 1: Power-Spektrum -weiter?');
%    alle diskret - Transformierten Koeffizienten
igew = 1:n; subplot(2,1,1); bar(igew,real(ft))
subplot(2,1,2); bar(igew,-imag(ft))
% 3. DFT Koeffizienten, Stop durch Tastatur-Abfrage
cont = input('3. im Fig. 1: DFT-Koeffizienten - weiter?');
% 4. Komplexe Darstellung
ftr = rearrg(ft); lorig = length(f); 
idx = -floor(lorig/2):floor(lorig/2); ftrn = ftr/n;
clf; subplot(2,1,1) ; bar(idx,real(ftrn))
subplot(2,1,2); bar(idx,imag(ftrn))
disp('4. im Fig. 1: Re, Im der komplexen Koeffizienten - Show fertig')
