|
|
Problem mit Sortierung eines Datensatzes |
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 18:38
Titel:
|
 |
Hallo,
Zitat: |
in denen gerade Zahlen stehen? |
Ist das so zu verstehen, dass dort keine ungeraden Zahlen stehen dürfen? Oder keine NaN?
Ansonsten hört sich das nach einem Fall für nancov an.
Grüße,
Harald
|
|
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 18:45
Titel:
|
 |
Hallo Harald,
da habe ich mich wohl unglücklich ausgedrückt. Mit "gerade" meinte ich "zum betrachteten Zeitpunkt". nancov so oder so, nur müssen Spalten die innerhalb des rolling windows auf dessen gesamter Länge nur NaNs enthalten zwingend ignoriert werden.
Grund: Die cov-Matrix wird später als Sigma in die mvnrnd-Funktion übergeben und darf somit zwingend kein NaN enthalten. Evtl. dürfen sogar erst Spalten genommen werden die auf der kompletten Länge des Fensters kein einziges NaN enthalten, dafür kenne ich nancov nicht gut genug...
Also beispielhaft so: Angenommen die Fensterlänge ist 10, und von Spalte zu Spalte verschiebt sich der Beginn der Zahlen um 10 Zeilen nach hinten, dann:
- Spalten 1&2 ab Zeile 20
- Spalten 1,2,3 ab Zeile 30
usw. usf.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 18:54
Titel:
|
 |
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 19:02
Titel:
|
 |
Denkst du denn das ist so weniger aufwändig als mein "Plan"?
Grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 19:09
Titel:
|
 |
Hallo,
Mir ist dein Plan nicht wirklich klar - Code ist da oft hilfreicher. Ich denke, dass mein Vorschlag der einfachstmögliche ist (jedenfalls sofern ich das Problem richtig verstanden habe) - sonst hätte ich ihn nicht gemacht
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 19:18
Titel:
|
 |
Wenn ich Code dazu schreiben könnte hätte ich das Problem ja nicht mehr
Mein Plan ist:
1) Gehe alle Spalten Zeile für Zeile durch und überprüfe ob/wo die erste Zahl kommt nach den NaNs
2) Fange an nancov zu berechnen ab der Zeile wo es zum ersten Mal möglich ist (also ab dem Punkt wo die zweite Spalte die erste Zahl enthält). Berechne nancov dabei NUR aus Spalten in denen innerhalb des Fensters mindestens eine Zahl enthalten ist.
3) schiebe das Fenster zur Berechnung von nancov einen Tag weiter und beginne wieder bei Schritt 1)
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 20:29
Titel:
|
 |
Hallo,
zu " Spalten wo mindestens eine Zahl enthalten ist":
Hast du dir denn den Link angesehen? Daraus ist ja direkt abzuleiten, wie man die Spalten bekommt, in denen nicht alle Zahlen NaN sind.
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 20:40
Titel:
|
 |
Hätte ich gerne, wenn ich meine Login-Daten nicht gerade nicht mehr auf die Reihe bekommen würde
Den Code den du eben geschrieben hast kenne ich, damit +find+'first' habe ich die jeweils erste Datenzeile identifiziert. Bin nur aus irgendeinem Grund gar nicht auf die Idee gekommen das weiterhin damit zu versuchen. Werde ich jetzt mal machen.
Danke!
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 22:10
Titel:
|
 |
Habe es jetzt mit
hinbekommen. Etwas umständlich, aber ich will ja Spalten löschen und keine Zeilen. Einziges Problem ist jetzt noch zuzuordnen WELCHE Spalten jeweils entfernt wurden, was leider wichtig ist.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 22:45
Titel:
|
 |
Hallo,
mit etwas Überlegen schaffst du es auch ohne diesen Umweg, die Spalten zu löschen ;)
Die Frage ist aber: willst du die Spalten löschen, die NaN enthalten (das ist das, was du momentan machst) oder die, die nur aus NaN bestehen?
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 23:41
Titel:
|
 |
Ich GLAUBE ich will die löschen die überhaupt NaNs enthalten, um in mein rolling window nur Spalten aufzunehmen die auf der vollen Länge des Fensters Daten enthalten. Sozusagen aus Gründen der methodischen Korrektheit. Die Ergebnisse von nancov werden ja ein wenig anders aussehen nehme ich an.
Die Spalten die übrig bleiben sehen auch sinnvoll aus, von 0 auf 2,4,6,8 usw bis sie konstant auf der maximalen Anzahl bleiben.
Zum Thema "mit etwas Überlegen...": Ich habe echt schon alles ausprobiert was meinem matschigen Gehirn heute noch einfällt, aber ich bekomme entweder eine Fehlermeldung oder gelöschte Zeilen... Bin wohl zu doof
Grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 00:03
Titel:
|
 |
Hallo,
"glauben" heißt "nicht wissen".
Zitat: |
von 0 auf 2,4,6,8 usw bis sie konstant auf der maximalen Anzahl bleiben. |
Das verstehe ich nicht.
Dann eben nochmal:
Alle Spalten entfernen, in denen NaN vorkommen:
Alle Spalten entfernen, die nur aus NaN bestehen:
Eine systematische Erweiterung der MATLAB-Kenntnisse könnte vielleicht von Nutzen sein, damit du dich nicht von Problem zu Problem hangeln musst.
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 00:11
Titel:
|
 |
Hallo Harald,
das mit den 0,2,6 usw soll ausdrücken dass die Anzahl der nach der NaN-Bereinigung verbleibenden Spalten passt, es also funktioniert.
(:, any...) habe ich als erstes probiert, dabei hat mich jedoch die Hilfefunktion geleimt, ich nahm an dass noch ein ...,1) dahinter gehört wenn die Dimensionen im Vergleich zu vorher andersherum sind.
Vielen Dank für die Aufklärung!
Mit der systematischen Kenntniserweiterung hast du Recht, nur bekommt man bei uns keinen Kurs in dem Programm angeboten, bin also kompletter Autodidakt. Und welche Kenntnisse für das was man tun muss relevant sind erfährt man leider tendenziell erst wenn man vor einem Problem steht das eben diese Kenntnisse erfordert...
Danke und viele Grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 10:11
Titel:
|
 |
Hallo,
das ",1" sollte an sich nicht schaden, ist aber bei "echten" Matrizen (d.h. nicht Zeilenvektor) das Standardverhalten. Das ist auch so dokumentiert.
Zitat: |
nur bekommt man bei uns keinen Kurs in dem Programm angeboten |
Was heißt "bei uns"? Selbst wenn es "bei euch" keinen Kurs gibt, gibt es durchaus andere Angebote, z.B. durch MathWorks
http://www.mathworks.de/training-schedule/
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 15:49
Titel:
|
 |
Hallo Harald,
ich habe jetzt alles so hinbekommen wie ich es haben will.
Danke + viele Grüße
|
|
|
|
Gehe zu Seite Zurück 1, 2, 3
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|