|
|
Einlesen mehrerer Variablen aus einem ASCII-File |
|
Ekepetete |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 03.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2014, 21:25
Titel: Einlesen mehrerer Variablen aus einem ASCII-File
|
 |
|
 |
|
Hallo zusammen,
ich speichere in meinem Programm mehrere Variablen untereinander in einem ASCII-File ab. Da sind dann (immer) zwei Zeilen-Vektoren und zwei Matrizen drin. In einer Kommentarzeile, jeweils oberhalb der Variable steht, was es denn nun ist und zwischen zwei Variablen ist zur besseren Übersichtlichkeit eine Leerzeile eingefügt.
Nun möchte ich diese Variablen gerne in einem anderen Matlab-Prg einlesen, was ich bis jetzt trotz intensiver Recherche noch nicht hinbekommen habe. Das Problem ist, dass die Dimensionen der Variablen variieren können, also beim Einlesen nicht bekannt sind. Die beiden Matrizen haben dieselbe Größe und die Länge vom ersten (oberen) Vektor gleicht ihrer Spaltenzahl, die vom zweiten der Zeilenzahl.
Ich wollte es mit textscan machen, nur muss ich dafür doch die Dimensionen kennen?
Kann man ihm nicht sagen, dass er die Kommentarzeilen weglassen soll, dann die jeweilige Variable (Zahlenwerte) bis zum Ende einlesen und dann zur nächsten Variable springen soll?
Es würde mich freuen, wenn jmd. Rat wüsste.
Viele Grüße und noch einen schönen Feiertag
Alex
Ps: Vielleicht habe ich das alles auch nur ungünstig abgespeichert, aber ich wollte eg schon gerne alles in einer Datei haben.
Beschreibung: |
Als ASC-File durfte (?) ich es leider nicht hochladen, deswegen habe ich es in einen M-File umgewandelt. |
|
 Download |
Dateiname: |
ergebnis.m |
Dateigröße: |
162.96 KB |
Heruntergeladen: |
201 mal |
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.04.2014, 11:26
Titel: Re: Einlesen mehrerer Variablen aus einem ASCII-File
|
 |
Hallo Ekepetete,
Arrays in einem ASCII-File zu speichern ohne vorher die Dimensionen anzugeben, ist wirklich unpraktisch. Wie wäre es also, zuerst die Dimensionen anzugeben?
Kommentarzeilen sollten am besten eindeutig erkennbar sein, z.B. an einem Sonderzeichen als ersten Buchstaben.
Wenn Du die Daten als binäres MAT-File abspeicherst erübrigen sich die Schwierigkeiten beim Einlesen. Hat es wirklich Vorteile die Daten menschenlesbar auf der Platte zu lagern?
Gruß, Jan
|
|
|
Ekepetete |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 03.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.04.2014, 12:43
Titel: Re: Einlesen mehrerer Variablen aus einem ASCII-File
|
 |
Hallo Jan,
vielen Dank für die schnelle Antwort. Das mit den Dimensionen wusste ich nicht. Du meinst, in der allerersten Zeile sollte man die Dimensionen als Zeilenvektor angeben? Das könnte ich notfalls noch machen.
Meine Kommentarzeilen beginnen immer mit einem %-Zeichen. Ich dachte, das wäre so der Standard für Kommentare. Welches sollte ich stattdessen nehmen?
Die Idee hinter der Speicherung im ASCII-Format war die, dass die Daten später evtl. auch mal von anderen Programmen (z.B. TecPlot) gelesen werden können.
Viele Grüße,
Alex
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.04.2014, 22:33
Titel: Re: Einlesen mehrerer Variablen aus einem ASCII-File
|
 |
Hallo Ekepetete,
"%" ist gut für Kommentare.
Wenn nur Matrizen gespeichert werden, sind Zeilen und Spalten-Zahlen hinreichend.
Ich kenne mich mit TecPlot nicht aus. Möglicherweise wäre das Einlesen von Binär-Datein von dort aus ebenfalls einfacher.
http://www.cfd-online.com/Forums/tecplot/103860-mat2tecplot.html
Gruß, Jan
|
|
|
Ekepetete |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 03.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.04.2014, 15:13
Titel: Re: Einlesen mehrerer Variablen aus einem ASCII-File
|
 |
Hallo,
ja gut. Ich wollte das jetzt schon so als ASCII-File beibehalten. Es beschränkt sich auch nicht auf TecPlot, soweit ich weiß. Wenn ich die Dimensionen oben noch mit angebe, geht es ja auch so.
Eine Frage habe ich aber noch:
Wenn ich dlmread anwende, dann kann man ihm ja den RANGE = {R1 C1 R2 C2}, wo er lesen soll, mit angeben. Muss ich den Wert der zweiten Spalte C2 auch als Zahl mit angeben? Oder könnte ich da nicht einfach sagen, so lang wie es eben geht? Dann müssten die Dimensionen nicht mehr mit angegeben werden.
Viele Grüße und Danke,
Alex
|
|
|
|
|
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.
|
|