function [posMat,negMat,lMat,l] = berechneNullmatrizen(switcher,stelle)
% Zielsetzung: die Nullmatrizen:    posMat = zeros(anzPosMat,lMat) und
%                                   negMat = zeros(anzNegMat,lMat)
% zu bestimmen! Diese Nullmatrizen werden dann mit den realen Werten
% aufgefüllt und am Ende werden die maximalen Amplituden berechnet

% Erstellung der TABELLE!!! Siehe calcZeroMatrix --> mit den Bildern
        % Matrizen für Nummer 1
        c1 = 2;
        c2 = 1;
        anzDPos1    = zeros(length(stelle),1);
        iPos1       = zeros(length(stelle),1);
        anzPosMat1  = zeros(length(stelle),1);
        anzNegMat1  = zeros(length(stelle),1);
        for k = 1:length(stelle)
        anzDPos1(k,1) = c1;
        iPos1(k,1) = c2;
        anzPosMat1(k,1) = anzDPos1(k,1) - iPos1(k,1);
        anzNegMat1(k,1) = anzDPos1(k,1) - (iPos1(k,1) + 1);
        c1 = c1 + 2;
        c2 = c2 + 1;
        end

        mat1 = [iPos1 anzDPos1 anzPosMat1 anzNegMat1];

        % Matrizen für Nummer 2
        c1 = 3;
        c2 = 1;
        anzDPos2 = zeros(length(stelle),1);
        iPos2 = zeros(length(stelle),1);
        anzPosMat2 = zeros(length(stelle),1);
        anzNegMat2 = zeros(length(stelle),1);
        for k = 1:length(stelle) % :endwert
        anzDPos2(k,1) = c1;
        iPos2(k,1) = c2;
        anzPosMat2(k,1) = anzDPos2(k,1) - (iPos2(k,1) + 1);
        anzNegMat2(k,1) = anzPosMat2(k,1);
        c1 = c1 + 2;
        c2 = c2 + 1;
        end

        mat2 = [iPos2 anzDPos2 anzPosMat2 anzNegMat2];

        % Matrizen für Nummer 3
        c1 = 2;
        c2 = 1;
        anzDPos3 = zeros(length(stelle),1);
        iPos3 = zeros(length(stelle),1);
        anzPosMat3 = zeros(length(stelle),1);
        anzNegMat3 = zeros(length(stelle),1);
        for k = 1:length(stelle) % :endwert
        anzDPos3(k,1) = c1;
        iPos3(k,1) = c2;
        anzPosMat3(k,1) = anzDPos3(k,1) - (iPos3(k,1) + 1);
        anzNegMat3(k,1) = anzDPos3(k,1) - iPos3(k,1);
        c1 = c1 + 2;
        c2 = c2 + 1;
        end

        mat3 = [iPos3 anzDPos3 anzPosMat3 anzNegMat3];

        % Matrizen für Nummer 4
        c1 = 3;
        c2 = 1;
        anzDPos4 = zeros(length(stelle),1);
        iPos4 = zeros(length(stelle),1);
        anzPosMat4 = zeros(length(stelle),1);
        anzNegMat4 = zeros(length(stelle),1);
        for k = 1:length(stelle) % :endwert
        anzDPos4(k,1) = c1;
        iPos4(k,1) = c2;
        anzPosMat4(k,1) = anzDPos4(k,1) - (iPos4(k,1) + 1);
        anzNegMat4(k,1) = anzPosMat4(k,1);
        c1 = c1 + 2;
        c2 = c2 + 1;
        end

        mat4 = [iPos4 anzDPos4 anzPosMat4 anzNegMat4];
        
% Routine zur Ermittlung von "lMat"
l = zeros(1,length(stelle)-1);
l(1,1) = stelle(1,2);
for i = 2:(length(stelle)-1)
    
    l(1,i) = stelle(i+1) - stelle(i);
    
end
lMat = max(l);

% Routine zur Berechnung von posMat und negMat
switch (switcher)
    case 1 % Signal erst positiv
        
        anzD = length(stelle);
        switch (isEven(anzD))
            case 1 % gerade Anzahl an Nulldurchgängen
                
                for i = 1:length(mat1(:,2)) % von 1 bis Anzahl der Nulldurchgänge
                    if mat1(i,2) == anzD
                        x = i;
                        break
                    else
                        i = i + 1;
                    end
                end
                anzPosMat = mat1(x,3); 
                posMat = zeros(anzPosMat,lMat);
                anzNegMat = mat1(x,4);
                negMat = zeros(anzNegMat,lMat);
                
            case 0  % ungerade Anzahl an Nulldurchgängen
                for i = 1:length(mat2(:,2))
                    if mat2(i,2) == anzD
                        x = i;
                        break
                    else
                        i = i + 1;
                    end
                end
                anzPosMat = mat2(x,3); 
                posMat = zeros(anzPosMat,lMat);
                anzNegMat = mat2(x,4);
                negMat = zeros(anzNegMat,lMat);
        end
        
    case 0 % Signal erst positiv
        
        anzD = length(stelle);
        switch (isEven(anzD))
            case 1 % gerade Anzahl an Nulldurchgängen
                
                for i = 1:length(mat3(:,2))
                    if mat3(i,2) == anzD
                        x = i;
                        break
                    else
                        i = i + 1;
                    end
                end
                anzPosMat = mat3(x,3); 
                posMat = zeros(anzPosMat,lMat);
                anzNegMat = mat3(x,4);
                negMat = zeros(anzNegMat,lMat);
                
            case 0  % ungerade Anzahl an Nulldurchgängen
                for i = 1:length(mat4(:,2))
                    if mat4(i,2) == anzD
                        x = i;
                        break
                    else
                        i = i + 1;
                    end
                end
                anzPosMat = mat4(x,3); 
                posMat = zeros(anzPosMat,lMat);
                anzNegMat = mat4(x,4);
                negMat = zeros(anzNegMat,lMat);
        end        
end