ich habe folgendes Problem: Ich habe Mittelwerte über mehrere Jahre und möchte nun die Werte der Jahre miteinander vergleichen, indem ich die Werte jährlich in einen Plot lege.
Weil ich keine Funktion dafür gefunden habe, dachte ich mir, ich speichere die Werte in einer Matrix ab. Also für folgendes Beispiel über 22 Jahre dann 22 Spalte mit jeweils 365 Zeilen.
Code:
D = retime(Q,'daily','mean'); %Tagesmittelwerte bilden
Der Code funktioniert tatsächlich soweit, aber nur solange an jedem Datum auch ein Wert vorhanden ist und das ist eben nicht immer der Fall. Ansonsten kommt folgende Fehlermeldung:
Code:
Unable to perform assignment because the size of the left side is1-by-1 and the size of the right side is0-by-1.
Dadurch bricht dann das ganze ab. Hat jemand eine Idee, wie ich matlab sage, dass er bei einem Nichtvorhandenen Datum einfach einen Nan-Eintrag machen soll? Oder sonst vielleicht eine ganz andere Idee um Werte jährlich übereinander zu plotten?
Dan füge eine Abfrage an, ob ein Wert vorhanden ist, bevor du ihn versuchst, in die Matrix zu schreiben.
Wenn kein 'Wert da ist, schreibe stattdessen einen Alternativwert (NaN oder z.B. den letzten Wert der Reihe ) .
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Vielen Dank Martina! Das löst mein Problem ziemlich gut! In der Matlab Hilfe habe ich natürlich schon geguckt, aber dazu leider nichts gefunden.
Einstellungen und Berechtigungen
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.