WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

plot in Axes aus unterfunktion

 

gui_einsteiger
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.03.12
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 15.03.2012, 09:24     Titel: plot in Axes aus unterfunktion
  Antworten mit Zitat      
Hallo,

ich bin mir sicher das mein Problem lösbar ist, weiß nur leider nicht wie: ich möchte in einem m-file einen graphen erstellen und von dort aus direkt in die axes in meiner gui plotten. Wie kann ich den meinem m-file verklickern, dass es in die Axes der gui plotten soll?

Viele Grüße
gui_einsteiger
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.03.2012, 09:33     Titel:
  Antworten mit Zitat      
Hallo,

das Handle des Koordinatensystems, in das du plotten möchtest, vorneweg angeben, z.B.
Code:
plot(handles.axes1, x, y)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
gui_einsteiger
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.03.12
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 15.03.2012, 09:39     Titel:
  Antworten mit Zitat      
Hallo,
das funktioniert aber nur, wenn ich in meinem gui-file direkt in die axes plotten will. Ich möchte aber in einem anderen m-file in die axes meiner gui plotten. wenn ich dies mache, so wie du es beschrieben hast, dann bekomme ich immer folgende fehlermeldung:

Undefined variable "handles" or class "handles.axes".

muss ich nicht noch irgendwie meinem m-file im gui etwas übergeben, damit das meine axes kennt?

vielen dank schon mal
gui_einsteiger
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.03.2012, 09:44     Titel:
  Antworten mit Zitat      
Hallo,

du musst dazu natürlich das Handle des Koordinatensystems wissen.

Wenn du deine Funktion aus der GUI heraus aufrufst, kannst du die Handles-Struktur übergeben. Andernfalls musst du versuchen, "irgendwie" an die Handle-Information heranzukommen, z.B. mit findobj über das Tag.
Code:
h = findobj('tag', 'axes1');

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
gui_einsteiger
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.03.12
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 15.03.2012, 09:50     Titel:
  Antworten mit Zitat      
Hallo,

das war genau meine Frage, wie ich meiner Funktion die Axes übergeben kann. Die Funktion wird bei mir direkt aus dem GUi heraus aufgerufen. nur leider komme ich mit dem handle noch nicht so zurecht, kann du mir da evtl. noch einen tip geben, wie ich die handles-struktur übergeben kann. hab da leider noch nciht so viel durchblick wie ich gerne hätte.

vielen dank
gui_einsteiger
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.03.2012, 09:59     Titel:
  Antworten mit Zitat      
Hallo,

die Funktion könnte dann so aussehen:
Code:
function [...] = myfun(..., h)
...
plot(h, x, y)

(... sind eventuelle weitere Argumente bzw. Code-Teile)

und der Aufruf dann so:
Code:
myfun(..., handles.axes1)


Falls das nicht weiterhilft, bitte deinen Code bzw. die relevanten Teile davon zur Verfügung stellen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
gui_einsteiger
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.03.12
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 15.03.2012, 11:59     Titel:
  Antworten mit Zitat      
Danke für die Hilfe, funktioniert jetzt so wie ich es wollte

Viele Grüße
gui_einsteiger
Private Nachricht senden Benutzer-Profile anzeigen
 
Paul_87

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.12.2012, 20:13     Titel:
  Antworten mit Zitat      
Habe dasselbe Problem, aber komme leider mit den Hinweisen nicht zurecht.

Wenn ich
Code:
h = findobj('tag', 'f_diag')

verwende,

bekomme ich eine empty Matrix:
Code:

   Empty matrix: 0-by-1


meine axes ist in einer gui folgendermassen definiert:
Code:
fig_f=axes('units','normalized','position',[0.34 0.06 0.6 0.6],...
'tag','plotfgui_axes','tag','f_diag');


Waere fuer weitere Hinweise mehr als dankbar! Ich habe schon zwei Tage versucht eine Loesung zu finden, aber es funzt nicht.

Viele Gruesse
 
Paul_87

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.12.2012, 20:29     Titel:
  Antworten mit Zitat      
Habe gerade gesehen, das ich zwei tag's verwendet habe, bei meinen vielen Versuchen, irgendwas in Gang zu bringen. Habe einen geloescht. Problem besteht weiterhin.
Erhalte jetzt bei Funktionsaufruf auch immer:

Code:
??? Undefined variable "handles" or class "handles.f_diag".


Was muss ich hinter das handels schreiben? den tag oder den Namen?

Ich bin echt ein absoluter Anfaenger!!
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.