|
|
mehrere *.bin-Dateien in bestimmter Reihenfolge einlesen |
|
koala02 |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 30.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.09.2009, 13:32
Titel: mehrere *.bin-Dateien in bestimmter Reihenfolge einlesen
|
|
|
|
|
Hallo!
Beschäftige mich erst seit kurzem mit Matlab und habe folgendes Problem. Habe einen riesen Datensatz an *.bin-Dateien (Name: nt_yyyymmdd_n07_v01_s.bin). Dabei handelt es sich um Satellitendaten auf Tagesbasis, wobei die ersten 10 Jahre meines Datensatzes nur alle 2 Tage zur Verfügung stehen. Jetzt möchte ich gerne alle Dateien in der Reihenfolge ihres Datums einlesen. Zusätzlich möchte ich dann noch eine Landmaske (name.msk) hinzufügen.
Eine einzelne Datei habe ich versucht über folgende Routine einzulesen:
Das scheint wohl zu klappen, zumindest kommt keine Fehlermeldung. Habe jetzt überlegt, das Skript in eine for-Schleife einzubinden, um alle Dateien auf einmal einzulesen. Habe es bisher ungefähr so probiert, wobei ich aber nicht genau weiß, wie ich die for-Schleife ausführen soll:
Bin ich mit meinem Skript überhaupt auf dem richtigen Weg?
Und wie kann ich dann noch die Landmaske hinzufügen? Wobei hier das Problem besteht, dass die Landmaske mit dem Pixelwert 2 versehen ist und auf NaN gesetzt werden muss.
Wäre supi wenn mir jemand helfen könnte.
|
|
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.09.2009, 19:42
Titel:
|
|
Hallo,
was Du mit der Landmaske meinst, weiß ich nicht. Aber ansonsten sieht das soweit vernünftig aus. In die for Schleife muss eigentlich nur noch der Code von darüber kopiert werden, wobei anstelle fname einfach files{i} verwendet werden muss...
Ciao,
Titus
|
|
|
koala02 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 30.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.09.2009, 20:51
Titel:
|
|
Danke für deine schnelle Antwort. Leider komm ich aber nicht weiter. Habs jetzt wie folgt versucht:
Matlab bringt mir aber dann an der Stelle "files{i}" folgende Fehlermeldung:
Hab echt keinen Plan...
Mit der Landmaske hab ich folgendes gemeint. Ich möchte mit den Satellitendaten die Meeresoberfläche untersuchen, dazu muss ich die Landoberfläche ausmaskieren, damit es nicht zu Fehlklassifikationen kommt. Ich habe eine Landmaske, in der alle "Land-Pixel" mit DN=2 versehen sind. Da diese DN aber auch auf der Meeresoberfläche vorkommen, muss ich alle DN der Landmaske auf NaN setzen, um sie von der Klassifikation auszuschließen. Soweit mein Gedanke. Wobei ich mich gerade frage, was mir die Gedanken bringen, wenn ich die Daten nicht mal eingelesen bekomme....
Hat jemand noch ne Idee?
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 30.09.2009, 21:53
Titel:
|
|
Hallo,
du musst einfach die Fehlermeldung aufmerksamer lesen.
Matlab, sagt dass Index i keinen Wert hat.
Da du FOR-Schleifen-Kopf k als Laufindex definiert hast, ersetze einfach i durch k.
|
|
|
|
|
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 - 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.
|
|