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

Aufeinanderfolgende Datensätze in Matrix suchen + speichern

 

Mia
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 23.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2013, 13:35     Titel: Aufeinanderfolgende Datensätze in Matrix suchen + speichern
  Antworten mit Zitat      
Hallo zusammen,

vermutlich ist mein Problem für euch mit links zu lösen, aber ich als MATLAB-Neuling komme hier ruckzuck an meine Grenzen.
Ich habe eine große Excel-Tabelle mit stündlichen Datensätzen zu Wetterparametern (s. angehängte Datei).

Nun möchte ich 2 Dinge herausfinden:
(1) Wann gab es im Laufe der gesamten Zeitreihe sog. „Wetterfenster“ (WOWs), d.h., für welche Datensätze gilt: ws <= 10.0, hs <= 2.5, wssh <= 3.0, pssh <= 3.0?
(2) Wie lange haben diese Wetterfenster gedauert, d.h. wie viele Datensätze aus (1) folgen aufeinander, bis der erste Datensatz kommt, der die Bedingungen nicht mehr erfüllt?

Diejenigen Datensätze, die zu einem Wetterfenster gehören, möchte ich gerne in jeweils einer Tabelle abspeichern, um sie anschließend weiter verarbeiten zu können.

Ich hab schon diverse Foren durchstöbert auf der Suche nach Anleitungen und bastel an den verschiedensten Ideen rum. Dies hier ist mein derzeitiger Versuch, er funktioniert aber leider (noch) nicht (Das Skript verarbeitet irgendwas, gibt aber nichts aus):

Code:
% Identification of weather operational windows (WOWs) and their lengths

a_hs = 2.5;
b_ws = 10;
c_pssh = 3;
d_wssh = 3;

j = 0;
WOWs = [];
 
for i = 1:max(Index)
    switch j
        case 0 % Case 0: Search for WOWs
            if ((hs <= a_hs) & (ws <= b_ws) & (pssh <= c_pssh) ...
                    & (wssh <= d_wssh)); % Find WOW
                j = 1; % Switch to case 1
            end
        case 1 % Case 1: Search for consecutive WOWs
            t = Index(i)-Index(i-1)
            if t ~= 1
                % If Index of WOW ~= (Index of the previous WOW + 1), switch
          % back to case 0
                % except for the very first WOW, where this condition
                % cannot be applied
                j = 0; % Switch back to case 0
                continue % Quit loop; check next row
            end
            j = 2;
        case 2 % Save data
            WOWs(end+1, :) = Index(i)
            j = 0;
    end
end


Ich hoffe, ich konnte euch meine Probleme einigermaßen vermitteln und dass jemand unter euch ist, der eine Idee hat, wie man sie lösen könnte. Smile

Für eure Hilfe wäre ich mehr als dankbar.

Viele Grüße
Mia

Wetterdaten.xls
 Beschreibung:

Download
 Dateiname:  Wetterdaten.xls
 Dateigröße:  31.5 KB
 Heruntergeladen:  500 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 - 2024 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.