|
|
Datei öffnen und plotten in GUI |
|
HP |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.05.2011, 21:56
Titel: Datei öffnen und plotten in GUI
|
|
Hallo,
ich schlage mich jetzt seit einiger Zeit mit folgendem Problem herum: Meine GUI besteht (noch) aus einem "Datei Öffnen"-Button ('openfile'), mit dem man eine wählbare Datei in den Workspace laden können soll, und aus einem Plot.
Die Dateien, mit denen ich arbeite, sind 3-dimensionale Matritzen mit komplexen Einträgen.
Bisher habe ich folgendes:
Leider funktioniert mein Code von vorne bis hinten nicht. Bevor es zum Plot kommt, wird out als <1x1> struct angezeigt.
Demnach bekomme ich diese Fehlermeldung:
??? Undefined function or method 'abs' for input arguments of type 'struct'.
Leider weiß ich auch nicht, ob ich die Grafik richtig eingebunden habe.
Kann mir jemand sagen, wie meine GUI doch noch läuft? Bin für jede Hilfe dankbar!!
|
|
|
|
|
eupho |
Forum-Meister
|
|
Beiträge: 777
|
|
|
|
Anmeldedatum: 07.01.09
|
|
|
|
Wohnort: Marburg
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 11.05.2011, 07:56
Titel:
|
|
Wird doch in der Fehlermeldung genau beschrieben:
Deine Variable out, die du aus der mat Datei importierst, ist vom Typ struct. Der Befehl abs funktioniert nicht für Strukturen, sondern nur für numerische Datentypen.
|
|
|
HP |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.05.2011, 08:17
Titel:
|
|
Ja, das ist mir schon klar. Genau das ist ja meine Frage. Ich hab keine Ahnung, warum aus meiner Matrix struc wird und wie ich es vermeiden kann.....hab leider noch wenig Ahnung, was Matlab und GUIs betrifft....
|
|
|
HP |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.05.2011, 08:24
Titel:
|
|
Um die Sache klarer zu machen : meine mat-file ist vom Typ <117x117x61 double> .
Das soll sie aber auch bleiben und ich verstehe nicht, warum sie auf einmal vom Typ struc ist. Kann mir da jemand helfen?
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 11.05.2011, 09:37
Titel:
|
|
Hallo HP,
das liegt am Befehl load.
Dieser macht dir aus deinem MAT-File beim Einlesen ein struct.
MATLAB Hilfe hat Folgendes geschrieben: |
S = load(filename) loads the variables from a MAT-file into a structure array, or data from an ASCII file into a double-precision array.
|
Guck dir also an wie das struct aufgebaut ist und übergib nur die Daten.
p.s.: Klick in deinem Quellcode hier im Thread auf den lod Befehl und du gelangst direkt auf die Online Hilfe dazu.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
HP |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.05.2011, 11:49
Titel:
|
|
Vielen Dank, Peter, du hast mir schon ein entscheidendes Stück weiter geholfen! Jetzt weiß ich zumindest, wo der Fehler liegt.
Habe jetzt betreffende Stelle ersetzt mit
Laut Hilfe soll der Anhang '-mat' forcieren, dass die Datei eine .mat-Datei bleibt.
Leider bekomme ich noch immer eine struct-Datei. Ich nehme an, ich habe einfach irgendwas falsch implementiert, finde den Fehler aber noch nicht. Ich fürchte, da brauch ich noch Hilfe!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 11.05.2011, 11:52
Titel:
|
|
Hallo,
extrahiere doch einfach die Variable aus der Struktur?
Dabei steht variablenname für den Namen der Variablen, wie er in der .mat-Datei gespeichert ist.
Grüße,
Harald
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 11.05.2011, 11:58
Titel:
|
|
Hallo HP,
-MAT bewirkt, dass LOAD eine Datei auch dann im MAT-Format einliest, wenn die Datei-Endung nicht ".mat" ist. Das ändert also nichts an der Representation der Daten.
MAT-Files sind übrigens intern als STRUCT formatiert. Deswegen ist es auch nicht so verblüffend, dass LOAD einen STRUCT zurück gibt. Das sollte aber eigentlich auch kein Problem sein, Du kannst doch einfach auf das gewünschte Feld zugreifen:
Soweit ich das sehe, ist das in "doc save" und "doc load" hinreichend gut beschrieben.
Gruß, Jan
|
|
|
HP |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.05.2011, 15:18
Titel:
|
|
VIELEN HERZLICHEN DANK AN EUCH!! Ihr habt mir echt sehr geholfen!
Ich hab mich natürlich durch die docs gekämpft, bin aber nicht damit klar gekommen. Wenn man von 0 anfängt, ist glaub ich das einfachste schon kompliziert genug
Jedenfalls ein ganz großes Dankeschön!
|
|
|
Slisus |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 14.06.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.06.2016, 13:06
Titel:
|
|
Tut mir leid für das ausgraben, aber meine frage basiert auf genau diesem thread
Die Matrix bzw die .mat datei einlesen geht wunderbar
Mein Problem ist aber die Zeile
out = out.variablenname
Die Harald vorgeschlagen hatte. Die Matrix wird soweit auch geladen. Für meinen anwendungsfall ist der name der Matrix, also 'variablenname' vorher unbekannt, es sollen nämlich verschiedene .mat dateien geladen werden können. Die Frage ist also, wie kann ich das umgehen
Man kann annehmen, dass in der .mat datei auch nur eine matrix gespeichert ist, vllt gibt es ja gleich ne möglichkeit, alle matrizen aus der .mat datei in matrixform zu speichern, egal wie dessen name ist
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.06.2016, 14:29
Titel:
|
|
Hallo,
versuch mal
Grüße,
Harald
|
|
|
Slisus |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 14.06.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.06.2016, 11:03
Titel:
|
|
Vielen Dank dir, funktioniert einwandfrei
|
|
|
|
|
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.
|
|