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

If Bedingung; Wert X 3 Monate in Folge über Wert Y

 

sventimo
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.02.2017, 17:36     Titel: If Bedingung; Wert X 3 Monate in Folge über Wert Y
  Antworten mit Zitat      
Hallo zusammen Smile

ich habe das Problem eine bestimmte Bedingung für eine If-Schleife aufzustellen.
In einem Datensatz sind Temperaturdaten nach Datum (Monat) sortiert. Ich will nun eine Schleife bauen, die mir die Monate ausgiebt, an denen der Temperaturwert an min 3 Monaten in Folge einen bestimmten Wert X übersteigt. In meinem Fall ist es die Standartabweichung einer Anomalie, die ich schon berechnet habe.
Muss nicht unbedingt eine Schleife sein, soll nur die Bedingung erfüllen.

Schonmal Danke für jede Antwort!
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 25.02.2017, 20:35     Titel: Re: If Bedingung; Wert X 3 Monate in Folge über Wert Y
  Antworten mit Zitat      
Hallo sventimo,

Es gibt keine "If-Schleifen".

Kannst Du einen Beispiel-Datensatz posten und das gewünschte Ergebnis dazu?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
sventimo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.02.2017, 23:18     Titel:
  Antworten mit Zitat      
Der Temperaturanomaliedatensatz besteht in diesem Fall aus einem Vektor, der einen Wert pro Monat beinhaltet.

z.B x = [10 12 5 46 89 78 40 20 30] und der zweite Wert (y = 40) ist mein Schwellenwert

Jetzt sollen alle Indices gefunden werden, in denen die Elemente von x min. dreimal hintereinander den Schwellenwert überschreiten. In dem Beispiel wäre das dann Indices 4, 5, 6 mit den Werten 46, 89, 78.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.02.2017, 19:07     Titel:
  Antworten mit Zitat      
Hallo sventimo,

Mit https://www.mathworks.com/matlabcen.....eexchange/41813-runlength:
Code:
x = [10 12 5 46 89 78 40 20 30]
y = 40;
[B, N, Index] = RunLength(x > y);
Match = (B & N >= 3);
StartP = Index(Match);
EndP   = StartP + N(Match);


Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
sventimo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.02.2017, 20:07     Titel:
  Antworten mit Zitat      
vielen Dank, das hat schonmal geholfen!
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.