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

Frage zu draggable.m und Einbindung in GUI

 

wurzelinio
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2018, 14:59     Titel: Frage zu draggable.m und Einbindung in GUI
  Antworten mit Zitat      
Hallo,

ich hab ein Problem mit der Einbindung der Funktionalität von draggable.m.

draggable.m hab ich aus dem FileExchange von Mathworks und diese Funktionalität möchte ich in ein GUI einbinden.

Meine Files anbei. Code Schnippsel zur Erklärung folgen unten.

Erklärung was passiert:
In der function draggable_GUI_OpeningFcn von draggable_GUI.m werden 5 Pkt. geplottet von denen der rote Punkt (Punkt 4) durch draggable verschiebbar gemacht wird.

draggable_GUI.m line 83:
Code:
%  Make 4th Point dragable
draggable(handles.hP(4), @movefcn)


Dabei gibt movefcn die Möglichkeit die Position während dem Verschieben auszulesen.


Beim Verschieben erscheinen im Workspace die aktuellen Koordinaten (xPos & yPos) des Punktes.

draggable_GUI.m line93:
Code:
function movefcn(obj)
clc
xPos = get(obj,'XData')
yPosl = get(obj,'YData')




So weit, so gut.


Mein Problem:
Ich möchte xPos und yPos in meiner handles Struktur speichern. In die, die bereits existiert.
Code:

handles =
    figure1: 181.0837
      axes1: 182.0803
     output: 181.0837
         P1: [1.7000 10]
         P2: [3 2]
         P3: [6 0]
         P4: [7.5000 3.5000]
         P5: [8.7000 8]
     Points: [5x2 double]
         hP: [2.1128 3.1113 4.0975 5.0970 6.0970]


also handles.xPos bzw. handles.yPos

Ich bekomme die ordentliche Übergabe meiner handle Struktur nicht hin, so das ich in dem angehängten Beispiel mein kläglichen Versuche rausgenommen habe. Smile


Im ersten Schritt müsste man doch der
Code:
ersteinmal die handle Structur übergeben oder?

So das:
Code:
function movefcn(obj)
clc
xPos = get(obj,'XData')
yPos = get(obj,'YData')
handles


nicht mehr dazu führt :

Code:
xPos =
    7.3972
yPos =
    3.4627
Undefined function or variable 'handles'.
Error in draggable_GUI>movefcn (line 99)
handles
Error in draggable>movefcn (line 497)
    feval(user_movefcn,h);
Error while evaluating figure WindowButtonMotionFcn


Diese kennt ja die handle structur gar nicht.


Könnt ihr mir hier helfen?

Gruß

draggable.m
 Beschreibung:

Download
 Dateiname:  draggable.m
 Dateigröße:  22 KB
 Heruntergeladen:  224 mal
draggable_GUI.m
 Beschreibung:

Download
 Dateiname:  draggable_GUI.m
 Dateigröße:  3.35 KB
 Heruntergeladen:  241 mal
draggable_GUI.m
 Beschreibung:

Download
 Dateiname:  draggable_GUI.m
 Dateigröße:  3.35 KB
 Heruntergeladen:  234 mal
Private Nachricht senden Benutzer-Profile anzeigen


wurzelinio
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.03.2018, 08:17     Titel:
  Antworten mit Zitat      
Ahhh, wirklich niemand eine Idee?

Ich habe bei dem Thema echt einen Hänger.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 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.