|
|
Indexing und Dateien einlesen |
|
zyklon |

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 18.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.05.2011, 22:04
Titel: Indexing und Dateien einlesen
|
 |
Ich möchte Messwerte aus *.txt einlesen und in einer Matrix speichern
so funktioniert das aber irgendwie nicht - was mache ich falsch
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.05.2011, 22:43
Titel: Re: Indexing und Dateien einlesen
|
 |
Hallo zyklon,
"so funktioniert das aber irgendwie nicht" - das ist nicht hilfreich. Bitte schreibe, was genau nicht so funktioniert, wie Du es Dir vorgestellt hast. Es ist immer viel leichter ein Problem zu lösen, als heraus zu finden, was überhaupt das Problem ist.
1. Du liest immer aus dem File "[list(1).name]" ein - wahrscheinlich meinst Du "list(i).name".
2. Du setzt einerseits "x(i)", dann hängst Du aber zusätzlich x(i) nochmal an x an.
3. Ist den die Ausgabe von DLMREAD ein Skalar?
4. "for i=length(list)" ist eine Schleife über ein einziges Element. Vermutlich meinst Du "for i = 1:length(list)".
Gruß, Jan
|
|
|
zyklon |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 18.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.05.2011, 22:59
Titel:
|
 |
Ok, tut mir leid , das war sehr unpräzise formuliert.
Dann kommt der Fehler
??? Error using ==> horzcat
All matrices on a row in the bracketed expression must have the
same number of rows.
Die Dateien haben aber die selbe Länge und Dimension
Ich möchte einfach nur alle eingelesenen Dateien, die jeweils 2 spalten haben in eine große Matrix schreiben
Was mich auch sehr interessieren würde. Wie kann ich jede eingelesene Datei in eine eigene Matrix schreiben, ohne diese bei jedem Durchlauf zu löschen.
LG
Edit:
Ok, anscheinend schwankt die Länge der Dateien um 3-4 Zeilen -warum auch immer. Könnte ich nicht einfach jede eingelesene Datei in eine eigene Matrix schreiben, deren Namen z.B Datei1 Datei2 Datei 3 usw ist
Am besten wäre natürlich die MAtrix heißt so wie die eingelesene Datei :
QMO-60-06-50.dat; QMO-60-25-40.dat
LG Zyklon
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 23.05.2011, 12:15
Titel:
|
 |
Hallo zyklon,
Einen Haufen von Variablen zu produzieren, deren Namen einen Index beinhalten, ist eine schlechte Idee. Lies dazu einfach die 500 Threads, die ich zu EVAL, EVALIN und ASSIGNIN geschrieben habe...
Viel besser ist es, einen Index als Index zu verwenden!
Gruß, Jan
|
|
|
zyklon |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 18.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.05.2011, 11:00
Titel:
|
 |
|
 |
|
Jan S hat Folgendes geschrieben: |
Gruß, Jan |
Hallo Jan,
Damit ich das richtig verstehe...
.....du liest die die menge der dateien im ordner ein
..... dann bildest du ein cell array "Data" in der größe der anzahl der dateien
.......... der reihe nach die dateien ein in vektor x
aber dann liest du sie noch einmal ein in
????
Danach vergibst du den dem Data array den Namen der Datei.
Ist das ein schreibfehler das du 2 mal einliest. Das einlesen eines meiner Dateien dauert 5 minuten (350 mb). Schleifen länger als 5 Daten bringen meinen Rechner ins stottern und MAtlab zeigt mir nen Fehler an.
Ich habe zwischenzeitlich mir mit eval beholfen, Allerdings ist deine Lösung sicherlich eleganter - Ich werde es jetzt so versuchen.
Mein Problem ist aber vielmehr die Ausgabe der Daten. Teilweise rechne ich Mittelwerte aus, die ich in Excel verwende. mit
z.B.
Habe ich mir verschiedene Mittelwerte und Prozessgrößen ausgeben lassen, die in der schleife produziert worden sind.
Ich habe diese - nicht auslachen - bisher mit der Hand dann geöffnet und in Excel reinkopiert, dann den Dateinamen angeklickt und diesen in eine Nachbar-spalte händisch eingefügt. Ich habe leider auf dem Computer mit Matlab kein Office. Bisher funktionierte dies auch ganz gut
dlmwrite konnte mir auch Graphen ausgeben, die TECPLOT verstanden hat.
Gestern habe ich aber für jede meiner 16 Hauptdateien 18 Mittelwerte berechnen müssen - Ich saß dann fast 2 h am kopieren in Excel.
Kennst du eine Möglichkeit, wie ich ohne die Übersicht zu verlieren welcher Wert zu welcher Auswertung gehört, direkt in Excel zu schreiben.
Aktuell habe ich folgende Aufgabe:
16 Dateien
Eta-ges*.dat
einlesen wie gehabt und mit einer Schleife auswerten.
bisher habe ich dann nach jedem der 18 zwischenergebnise
eingeführt.
Wie kann ich dein Cell Array in Excel darstellen z.B. in 3 Spalten
Datei Auswertungsmethode Wert
Eta-ges.... z.B.: QMO Mittelung 0,000815
Eta-ges.... Schwarzwertmittelung 0,2546
usw.
Ich hoffe du oder jemand anderes kann mir zu diesem Thema tipps geben. Gestern bin ich fast verzweifelt und die Tipps zu Schreiben in Excel die ich finde, kann ich nicht auf mein PRojekt anwenden bzw verstehe ich nicht.
Bin leider Matlab Neuling
Mit bestem Dank im Voraus
Florian
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 01:10
Titel:
|
 |
Hallo Florian,
Das zweimalige Einlesen war ein Tippfehler!
Kannst Du per XLSWRITE Dateien erzeugen, die Excel direkt einliest?
Gruß, Jan
|
|
|
zyklon |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 18.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 11:26
Titel:
|
 |
Jan S hat Folgendes geschrieben: |
Hallo Florian,
Das zweimalige Einlesen war ein Tippfehler!
Kannst Du per XLSWRITE Dateien erzeugen, die Excel direkt einliest?
Gruß, Jan |
Danke Jan, das mit dem Cell Array funktioniert super.
Ich habe bisher nie mit Cell Array gearbeitet und verstehe nicht wie ich bei XLSWRITE ansteuere, dass er mir mein Cell Array DATA.name in die Spalte A1 schreibt , DATA.FKE (ein einzelner Wert) in Spalte B2 und Data.FKEcut in Spalte C.
Ich habe insgesamt 120 Dateien eingelesen - mit jeweils den 3 Lösungswerten.
Hat jemand einen Tipp
|
|
|
|
|
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.
|
|