WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Indexierungsprobleme

 

Zinderella
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 24.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.08.2013, 11:32     Titel: Indexierungsprobleme
  Antworten mit Zitat      
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
 


Bildschirmfoto 2013-07-24 um 14.10.52.png
 Beschreibung:
So sieht die Datenreihe aus wenn man eine Kurve durchlegt.

Download
 Dateiname:  Bildschirmfoto 2013-07-24 um 14.10.52.png
 Dateigröße:  14.15 KB
 Heruntergeladen:  295 mal
Bildschirmfoto 2013-08-28 um 11.24.12 AM.png
 Beschreibung:
Hier im Zoom, in rot die Schnittstellen, also sp(i)/0, die jeweiligen 4 Punkte um y=0 sind dann die ys

Download
 Dateiname:  Bildschirmfoto 2013-08-28 um 11.24.12 AM.png
 Dateigröße:  7.41 KB
 Heruntergeladen:  260 mal
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.