Verfasst am: 11.04.2019, 13:13
Titel: Bestehende Figures und Subplots ansprechen
Hallo,
da mein Programm immer umfangreicher wird, komme ich so langsam an meine Grenzen und bitte um Eure Hilfe:
Ich habe mir ein GUI erstellt, über welches ich per Button ein Skript starte, welches wiederum der Reihe nach einige Unterskripte abarbeitet. Am Ende wird u.a. eine Figure mit 4 Subplots erstellt. Die Figure heißt f1, die Subplots f1s1, f1s2, f1s3, f1s4. Soweit so gut. Danach soll es die Möglichkeit geben, zusätzliche Daten in einen der Subplots (welcher hängt von den Daten ab) einzutragen. Diese Daten liegen als Table (Daten_BP_Diagramm) vor.
Grundsätzlich würde ich das über
Das Problem ist aber, dass f1, bzw. f1s1 usw. der aufrufenden Funktion nicht bekannt sind, denn Sie wurden ja vorher durch eine andere Funktion erstellt. 2 Lösungswege fallen mir dafür ein:
1) Ich müsste f1, f1s1, usw. z.B. dem Base-Workspace übergeben mit
Das funktioniert auch soweit, allerdings wird f1 trotz des "reuse" als neues Fenster geöffnet-warum?
Außerdem ist mir nicht klar, wie ich aber die einzelnen Subplots ansprechen kann. Wird die Information, dass ich die Subplots bei der Erstellung benannt hatte (f1s1, uws.) mit dem
Vielen Dank für Eure Antworten, ich hoffe ich habe mich halbwegs verständlich ausgedrückt.
Maria
PS: Ich tue mich auch grundsätzlich noch schwer, Variablen etc., die in Funktion A erstellt wurden, in weiteren Funktionen zu nutzen, v.a. unter Einbeziehung von GUIs (siehe Lösungsansatz 1). Ich denke zwar, ich habe das mit den unterschiedlichen Workspaces prinzipiell verstanden, aber die praktische Umsetzung ist eher unelegant. Gibt es dahingehend empfehlenswerte Literatur?
meine Vorschläge:
1. Variablen übergeben: Wenn eine Funktion ein graphisches Objekt oder mehrere erzeugt, dann die Handles darauf zurückgeben.
2. Die Eigenschaft 'Tag' beim Erstellen der Graphikobjekte setzen und später mit findobj nach Objekten mit dem Tag suchen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
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.