Hallo!
Mein Problem ist wie folgt: Mein Code s.u. sucht Schnittpunkte mit der x-Achse, aus einer interpolierten Datenreihe (pulsartiger Verlauf). D.h. es werden immer die 2 Punkte gespeichert die die x-Achse umgeben (oder wenn genau 0 dann 0 und der folgende Wert.)
Nun möchte ich das Minima jeweils zwischen den beiden Schnittpunkten,daher suche ich die Stellen j,k im Vektor yi im zweiten Teil des Codes und ermittel die Minima. Es geht aber nicht wenn Matlab den Wert zweimal findet!
Hat jemand eine Idee wie ich die Minima Geschichte schon oben mit einbauen kann?
Code:
% sp:x-Wert von Überschussperiodenanfang und -ende; ys,xs wird später % gebraucht um ymin und xmin zu bestimmen for i =1:length(yi)-1 if(yi(i)*yi(i+1))<0
sp=[sp,(xi(i)+xi(i+1))*0.5];
ys=[ys,yi(i),yi(i+1)];
xs=[xs,xi(i),xi(i+1)];
elseif yi(i)==0
sp=[sp,xi(i)];
ys=[ys,yi(i),yi(i+1)];
xs=[xs,xi(i),xi(i+1)];
end end % Index finden
j=[];
k=[];
for i=1:4:length(ys)-3
j= [j, find(yi==ys(i))];
end for i=4:4:length(ys)
k=[k, find(yi==ys(i))];
end % Nun Minima errechnen for i=1:length(j)
ymin= [ymin, min(yi(j(i):k(i)))];
end
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.