function [ Abl , maxAbl ] = diffq ( Func , dx )
#
# Funktion zur Berechnung der Ableitung von Func
# Func muss auf equidistanten x-Werten beruhen
# dx ist der Abstand zwischen den x-Werten
#
maxAbl=0;
Dummy=size(Func);
imax=int32(Dummy(1));
#
Abl(1,1)=(Func(2,1)-Func(1,1))/dx;
Abl(2,1)=(Func(3,1)-Func(1,1))/(2*dx);
Abl(3,1)=(-Func(5,1)+8*Func(4,1)-8*Func(2,1)+Func(1,1))/(12*dx);
for i=4:imax-3
  Abl(i,1)=(Func(i+3,1)-9*Func(i+2,1)+45*Func(i+1,1) ...
        -45*Func(i-1,1)+9*Func(i-2,1)-Func(i-3,1))/(60*dx);
endfor
Abl(imax-2,1)=(-Func(imax,1)+8*Func(imax-1,1) ...
                            -8*Func(imax-3,1)+Func(imax-4,1))/(12*dx);
Abl(imax-1,1)=(Func(imax,1)-Func(imax-2,1))/(2*dx);
Abl(imax,1)=(Func(imax,1)-Func(imax-1,1))/dx;
#
maxAbl=max(abs(Abl));
#
endfunction
#
