I wie unten eine Matrix haben:einen Raum/Tab separaten Feld in einem Säulenelement einfügen MATLAB
615319419701102123000000 000000 000000 000000 000000 000000 000000 000003 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
Die Matrix hat 24-Säule. In der ersten Spalte steht die 7-stellige (dh 6153194) Statistik-ID, die nächsten 4-stelligen Jahre (1970), der nächste 2-stellige Monat (11, November), die nächste 2-stellige Zahl steht für den Monatstag (zum Beispiel in der 1st Spalte 02 bedeutet 2. Tag), dann ist 123 das Flag, das seine Zeitreihe der Niederschlagsrate und die letzte sechsstellige Zahl angibt (dh 000000 ist die Niederschlagsmenge). Die letzte 23 Spalte zeigt stündliche Niederschlagsdaten in mm an.
Ich möchte an die Station-ID in den Bereich der ersten Säule zu trennen, Jahr, Monat, Tag und Wert in das Programm zu füttern, das so etwas wie:
6153194 1970 11 02 123 000000 000000 000000 000000 000000 000000 000000 000003 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
Und schließlich ebenfalls eine Zeitreihe:
Mein Hauptanliegen ist, wie Felder mit Tab/Space von der ersten Spalte getrennt werden und wie man eine Zeitreihe daraus baut? Irgendwelche Hilfe/Vorschläge zu diesem
Hallo, Danke für Ihre Hilfe! Die Daten sind im numerischen Format und nicht in Form eines Zeichenarrays. Ich kann es direkt mit dem Befehl importdata von einem Text/Notizblock öffnen. In diesem Fall bekomme ich Fehler in Foll. Zeile: charCell = cellfun (@strsplit, charCell, 'UniformOutput', false); – Poulomi
Vielen Dank für Ihren Kommentar. Ich denke, dass Sie irgendwie die Daten in das Zeichenarray des Formulars konvertieren müssen, das in 'charMatrix' angegeben ist, weil sonst Probleme mit der Genauigkeit für die Speicherung der ersten Spalte des ursprünglichen Datensatzes auftreten. Die maximale von MATLAB unterstützte Ganzzahl ist 18446744073709551615 (uint64). Wenn Sie Ihre Datendatei hochladen können, kann ich eine vollständige Lösung bereitstellen. – user1391279
Hallo, ich habe versucht, die Daten mit Text-Scan zu lesen: X = textscan (Datei-ID, '% s', 24, 'Delimiter', '\ n'); Es gibt 24 Spalten, also habe ich hier 24 gesetzt. Dann habe ich versucht, das Zellenarray mit dem Befehl char in ein Zeichenarray umzuwandeln. Ich habe einen Fehler erhalten "Zellenelemente müssen Zeichenfelder sein". Irgendwelche Vorschläge wie soll ich vorgehen? – Poulomi