|
|
Größere GUI zum Datenplotten |
|
spiele-joe |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.03.2012, 17:49
Titel: Größere GUI zum Datenplotten
|
|
|
|
|
Hallo,
ich bräuchte eure Hilfe bei einer Matlab-Gui, die ich studienbedingt zu realisieren habe.
Ausgangslage ist folgende:
Ich habe einen Ordner in welchem mehrere .txt-Dateien liegen, die ihrer Struktur nach identisch sind. Die Dateien besitzen jeweils einen Header und 3-dimensionale Daten.
In dem Header ist ein Zeitmarker enthalten, der mir angibt zu welchem Zeitpunkt die Datei aufgenommen wurde.
Über eine Gui möchte ich nun den Ordner, respektive die Daten laden und anschließend in zwei Fenstern einen 2-D und 3-D Plot erstellen.
Folgendes Konzept habe ich mir hierzu überlegt:
Vor jedem Plot ist eine bestimmte Auswahl zu treffen, die festlegt was überhaupt geplottet werden soll.
Für den 2-D-Plot (z gegen x) wäre das:
- Zeitpunkt der Messung (Info aus den Headern)
- y-Wert (x und z bei konst. y sollen anschließend geplottet werden) - die y-Werte sind bei allen Messungen konstant (also min/max und Intervall)
Die Angabe für den 3-D-Plot (z gegen x und y):
- Zeitpunkt der Messung (s.o.)
Außerdem sollen die Grenzen von x und y einstellbar sein (für beide Plots in einem).
Ich würde nun gerne folgendes machen.
1. Über einen Befehl den entspr. Ordner wählen und im gleichen Zuge die Zeitmarker auslesen und diese mit den Dateinamen in eine Matrix schreiben (dann hätte ich die entsprechende Verknüpfung geschaffen),
außerdem sollen die y-Werte gelesen und in eine Matrix geschrieben werden.
2. mittels Slidern auf die Zeit und y-Werte zugreifen, um den gewünschten Wert zu wählen (ist einfacher als ein ellenlanges Dropdown-Menü)
Insgesamt wären das 4 Slider:
- Zeitslider 2D
- y-Wert-Slider 2D
- Zeitslider 3D
Mit einem Klick auf "Plot 2D" und "Plot 3D" sollen anschließend geplottet werden und mit "Save Plot 2D" die jeweilige Auswahl in eine .txt exportiert werden ("Save Plot 3D" ist nicht notwendig, da das denn Rohdaten entspricht).
Soweit so gut. Meine erste Frage: Ist das überhaupt in dieser Art und Weise realisierbar?
Ich hab mich auch schon an so einigen Punkten probiert, bin jedoch zumeist sang und klanglos gescheitert.
Daher bin ich über jede noch so kleine Hilfe dankbar!
Vielen Dank
Johannes
|
|
|
|
|
Marco H. |
Forum-Guru
|
|
Beiträge: 404
|
|
|
|
Anmeldedatum: 12.11.10
|
|
|
|
Wohnort: Dortmund
|
|
|
|
Version: 2010a/2012b
|
|
|
|
|
|
Verfasst am: 19.03.2012, 19:07
Titel:
|
|
Hey,
sicherlich ist das möglich. Allerdings würde ich anstatt der Slider ehr zu Listboxen tendieren. In denen könntest du z.B. die Dateinamen der Textfiles reinschreiben. Das macht das etwas übersichtlicher. Mit uigetdir könntest du den Pfad der Dateien festlegen und diese dann einlesen.
Greetings
|
|
|
spiele-joe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.03.2012, 10:46
Titel:
|
|
Hey,
der Nachteil der Dateinamen ist allerdings, dass ich dann nicht weiß, zu welchem Zeitpunkt die Datei aufgenommen wurde und das ist die eigentlich wichtige Information. Zu den Listboxen: Es sind knapp 200 y-Werte und 100 Dateien, sodass ich davon ausging, dass man mit einem Slider schneller an sein Ziel kommt. Aber letztendlich sollte das sich nicht soviel geben.
Grüße
|
|
|
spiele-joe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.03.2012, 15:41
Titel:
|
|
Nun gut, ich habe es jetzt ersteinmal soweit mit Hilfe von popupmenus realisiert, stoße aber dennoch auf so manches Problem.
1.Problem
Ich lade meine Ordner, liste die Dateien auf und übergebe es an die anderen Funktionen:
Nun werden aber nicht die Dateien in dem ausgewählten Ordner, sondern in dem Ordner in dem die Matlab-Datei liegt aufgelistet.
Ich denke, dass man folgenden Code verwenden muss:
Das klappt allerdings nicht, da dann die Fehlermeldung kommt:
Warning: popupmenu control requires a non-empty String
Control will not be rendered until all of its parameter values are valid
Hat da jmd. einen Tipp für mich? Danke!
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 20.03.2012, 15:50
Titel:
|
|
solche fehler lassen sich meist gut mit dem debugger klären. setz doch mal ne marke da und guck wie deine werte aussehen.
|
|
|
spiele-joe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.03.2012, 16:01
Titel:
|
|
Sorry, ich versteh leider nicht genau was du meinst. Könntest du das bitte kurz erläutern?
Update:
Habe den Fehler gefunden. So muss es stattdessen heißen:
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 20.03.2012, 16:21
Titel:
|
|
naja solche fehler entstehen ja wenn ein falsches daten format vorliegt.
welches daten format vorliegt finden man ja raus indem man die debugger marke setzt und einfach bis zu der stelle durchlaufen lässt. dann kann man sich die daten zu diesem zeitpunkt ja angucken kurz befor der fehler entsteht.
|
|
|
spiele-joe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.03.2012, 13:59
Titel:
|
|
Vielen Dank für deine Hilfe. Jetzt bin ich ein richtiger "Debugger"!
Allerdings stehe ich nun vor dem nächsten Problem, dass ich einfach nicht verstehe/gelöst bekomme.
Ich lese Werte aus einer Datei aus und speicher sie so ab:
[6;6.005000000000000;6.010000000000000;6.015000000000000;6.020000000000000]
Anschließend übergebe ich sie an mein popup:
Jetzt habe ich allerdings das Problem, dass in meinem popup eine 5x5 char steht? Damit kann ich nicht weiterarbeiten, da ich ein cell array benötige.
Warum wird es nicht als solches übergeben?
Bin über jeden Tip dankbar!
|
|
|
spiele-joe |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.03.2012, 08:08
Titel:
|
|
Kann mir hierbei keiner helfen?
Der Übersicht wegen hier noch der Code zum Auslesen der Daten:
pfad3d ist entsprechend der Pfad zu Datei, den ich vorher ausgelesen und übergeben habe.
|
|
|
|
|
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.
|
|