|
|
laden/importieren von cell arrays |
|
Fabian Baumgarten |

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 27.08.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012a 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 10.09.2012, 10:30
Titel: laden/importieren von cell arrays
|
 |
|
 |
|
Hi.
Ich habe folgendes Problem:
Innerhalb meiner m.file soll an einer bestimmten Stelle eine Datei eingelesen werden. Um genau zu sein, sollen 2 Dateien kurz hintereinander eingelesen werden. Das macht aber glaube Ich jetzt keinen großen Unterschied.
Mein Hauptproblem besteht darin, dass Ich je nach Situation einfache Matritzen, aber manchmal auch Cell Arrays, die mehrere dieser Matritzen enthalten importieren, bzw. laden muss.
mit
funktioniert das ganze Problemlos, allerdings kann Ich dann nur die Datei "Testdatei" laden. Leider heißt nunmal die Datei bei jedem nicht Testdatei und der User sollte eine entsprechende Datei aus seiner "Current Folder" auswählen können.
folgendes habe Ich probiert:
dies gibt leider einen Struct aus, den Ich dann versucht habe mit
umzuformatieren. Leider ergibt sich aber aus dem struct ein 1x1 Cell Array, in dem dann z.b. mein 3x1 Cell Array drin steht. Logischerweise kann MATLAB dann den Cell Array nicht weiterverarbeiten.
das gleiche passiert mit dem Befehl
der gefällt mir allerdings noch am besten, weil er am benutzerfreundlichsten ist und man seinen Dateinamen nicht eintippen muss. Leider bekomme Ich beim Import eines Cell Arrays auch wieder ein struct, welches ich nach konvertierung in ein cell array wieder nicht verwenden kann, weil sich mein cell array in einem 1x1 cell array befindet.
Ich hoffe, das war halbwegs verständlich und mir kann einer sagen, wie Ich vernünftig ein beliegiges cell array, oder eben nur eine Matrix in das Programm importieren, bzw. hineinladen kann.
Danke für die Hilfe!
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 10.09.2012, 12:07
Titel: Re: laden/importieren von cell arrays
|
 |
Hallo Fabian,
Wie wäre es mit:
Falls die Daten dann in einem Cell Array oder Struct liegen, kann man doch einfach auf das Cell-Element oder Struct-Feld zugreifen, oder nicht?
Gruß, Jan
|
|
|
Fabian Baumgarten |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 27.08.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012a 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 10.09.2012, 12:57
Titel:
|
 |
ok, erstmal vielen Dank für die Antwort!
den Code, den du gepostet hast, werde ich mir mal nach dem Essen anschauen.
Zitat: |
Falls die Daten dann in einem Cell Array oder Struct liegen, kann man doch einfach auf das Cell-Element oder Struct-Feld zugreifen, oder nicht? |
Oh man! Ich stand vielleicht sowas von auf dem Schlauch! unfassbar...
Ohne es jetzt ausprobiert zu haben, denke Ich, dass somit selbst meine Lösung ohne weiteres möglich wäre, indem man - wie du ja bereits sagst - einfach auf das Cell Array zugreift. Auf sowas komme Ich natürlich wieder nicht...
Wie gesagt, vielen Dank für den Denkanstoß!
Ich gebe nach dem Essen Feedback, ob nun alles soweit passt.
|
|
|
Fabian Baumgarten |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 27.08.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012a 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 11.09.2012, 13:58
Titel:
|
 |
mhm, irgendwie konnte Ich meinen Betrag nicht mehr editieren. Warum, weiß ich nicht. Evtl., weil er bereits einen Tag alt ist?!
Wie dem auch sei. also, sorry für den doppelpost und sorry, weil ich mich jetzt erst melde. mir ist leider gestern nachmittag was dazwischen gekommen. Von daher, nun das versprochene Feedback.
Habe den Code von Jan ein wenig modifiziert (nur die Variablen Namen geändert) und noch 2 Zeilen drangehängt, da die eingelesene Datei wieder ein struct war. Allerdings hat hier sehr der Denkanstoß von Jan geholfen.
damit funktioniert es einwandfrei!
Danke nochmals.
PS: Eine Frage hätte Ich da doch noch:
Was genau passiert, wenn P_Name kein char ist, wenn man dann "return" ausführt?
sprich, was genau machen die 2 Zeilen:
?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 11.09.2012, 16:23
Titel:
|
 |
Hallo Fabian,
Beiträge kann man 2 Stunden lang editieren. Danach sind die Editoren in Notfällen gerne behilflich.
Wenn man bei UIGETFILE auf "Cancel" drückt, werden zwei Nullen zurückgeliefert. Im Sinne guter Benutzerführung muss darauf irgendwie sinnvoll reagiert werden. Ein Rücksprung in die Aufrufende Funktion ist da eine Möglichkeit.
Gruß, Jan
|
|
|
Fabian Baumgarten |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 27.08.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012a 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 12.09.2012, 13:34
Titel:
|
 |
Vielen Dank für die Hilfe und die gute Erklärung!
|
|
|
|
|
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.
|
|