
clear all 
clc


%vh_wind=[1; 3; 2; 2; 5; 4; 6; 7];
vh_wind=[1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 4; 4; 5; 4; 1; 1; 1; 1; 1; 1; 2; 5; 10; 6; 4; 1; 1; 1; 1;1; 1; 1; 1;1; 1; 1; 1; 1; 1; 1; 1;1; 1; 1; 1; -4; -8; -5; -3; -2; 1; 1; 1;1; 1; 1; 1; 1; 1];     % Vektor definieren


ZEIT=[];
for i=1:1:length(vh_wind);
    ZEIT=[ZEIT;i];
end

length(vh_wind)
iAbleitung=[0;vh_wind(2:end)-vh_wind(1:end-1)];     % Differenz benachbarter Punkte bilden
B=iAbleitung;
%B=abs(B);
% B(abs(B)>Grenze)=1;            % alle zu großen Differenzen auf 1 setzen
% B(B~=1)=0;                     % ~= steht für ungleich, den Rest auf 0


% 2. Ableitung der Messvariable bzw. der Stufenfunktion (z.B. Windgeschwindigkeit, Temperatur,
% etc.)

iiAbleitungStufe=[0;B(2:end)-B(1:end-1)];
C=iiAbleitungStufe;                            % damit es am Ende in jedem Fall ein 'Bereichsende' gibt
%C=abs(C);
% C(abs(D)>Grenze)=1;            % alle zu großen Differenzen auf 1 setzen
% C(C~=1)=0;                     % ~= steht für ungleich, den Rest auf 0

% 3. Ableitung der Messvariable bzw. der Stufenfunktion (z.B. Windgeschwindigkeit, Temperatur,
% etc.)
iiiAbleitungStufe=[0;C(2:end)-C(1:end-1)];
D=iiiAbleitungStufe; 
%D=abs(D);
%f(:,1)=find(D==1);              %Liefert die Position wo ein Wendepunkt auftritt
 
M=[];
 for i=1:1:length(D) 
     if((C(i)==0)&& (D(i)~=0))      %wenn 2. Ableitung gleich O und 3. Ableitung <>0 dann liegt ein Wendepunkt vor
        y=1;
     else
         y=0;
     end
     M=[M;y];
 end


% Die Einträge von M könnten an den ersten Stellen gekürzt werden, damit
% die Wendepunkte bei dem Zeitpunkt des Messsignals angezeigt werden. Jedoch
% sind die Verschiebungen zwischen den Wendepunkten nicht gleich lang. 

%g=[M(6:length(M)); 0; 0; 0; 0; 0]


%#########################################################################
%#####################  START: Plotten der Ergebnisse  ###################
%#########################################################################

figure(2)
subplot(3,1,1)
plot(ZEIT,vh_wind,'-kx',ZEIT,B,'r-','MarkerSize',2,'LineWidth',1);
title({'Windgeschindigkeit FINO 1 Station'},'FontWeight','Bold') 
xlabel('Zeit'); 
ylabel('Windgeschwindigkeit [m/s]'); 
legend({'Windgeschwindigkeit','1. Ableitung'},'Location','NorthEast');


subplot(3,1,2)
plot(ZEIT,vh_wind,'-kx',ZEIT,B,'r-',ZEIT,C,'B-.',ZEIT,D,'k--','MarkerSize',2,'LineWidth',1);
title({'Windgeschindigkeit FINO 1 Station'},'FontWeight','Bold') 
xlabel('Zeit'); 
ylabel('Windgeschwindigkeit [m/s]'); 
legend({'Windgeschwindigkeit','1. Ableitung', '2. Ableitung', '3.Ableitung'},'Location','NorthEast');

subplot(3,1,3)
plot(ZEIT,vh_wind,'-kx',ZEIT,M,'r-','MarkerSize',2,'LineWidth',1);
title({'Windgeschindigkeit FINO 1 Station'},'FontWeight','Bold') 
xlabel('Zeit'); 
ylabel('Windgeschwindigkeit [m/s]'); 
legend({'Windgeschwindigkeit','Wendepunkt'},'Location','NorthEast');
