goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Buchempfehlung erbeten

Studierende:
Praktikant/-in im Bereich Forschung/Entwicklung Adsorptionswärmepumpe Simulation
Kfz-Zulieferindustrie
Behr GmbH & Co. KG - Stuttgart

Entwicklung und Erprobung von Systemen unter Verwendung mechanischer Fremdenergie
Antriebs- und Fahrwerktechnik
ZF Friedrichshafen AG - Friedrichshafen

Praktikanten/Werkstudenten (m/w) für die Analyse und Optimierung der Ansteuerung einer Fehlersimulation
Sicherheitskritische Systeme
Silver Atena Electronic Systems Engineering GmbH - München

Praktikum Automatisierung von Typtests für PV-Wechselrichter
Solartechnik
SMA Solar Technology AG - Niestetal

Praktikum/Abschlussarbeit - Hardware-in-the-Loop-Simulation von elektrischen Antrieben und leistungselektronischen Komponenten
Elektrotechnik/EDV
dSPACE GmbH - Paderborn

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

OOP und GUI

 

Dr.Demolition
Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 13.07.10
Wohnort: nähe Wetzlar
Version: 7.10.0.499, 32bit
     Beitrag Verfasst am: 16.07.2010, 14:18     Titel: OOP und GUI
  Antworten mit Zitat      
Hallo,

gibt es irgendwelche Dokumentationen darüber, wie ich OOP in Matlab mit einer GUI steuern kann?

Ich habe ein Objekt mit Methoden zum Berechnen bestimmter Ergebnisse, dessen Attribute ich gerne über verschiedene Buttons bzw. Textboxen steuern würde.

Wie muss ich hier generell vorgehen?

Meine Idee ist bis jetzt, beim Starten des GUI das Objekt in handles zu erstellen, also: handles.xy=xyz() Gibt es da eine elegantere Lösung?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 16.07.2010, 20:16     Titel:
  Antworten mit Zitat      
Hallo,

grundsätzlich ist die Kombination von OOP und GUIs kein Problem, solange man beides für sich genommen versteht.
Die Erweiterung der handles-Struktur ist eine Möglichkeit. Eine sauberere Variante ist m.M. nach das Arbeiten mit setappdata / getappdata.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dr.Demolition
Themenstarter

Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 13.07.10
Wohnort: nähe Wetzlar
Version: 7.10.0.499, 32bit
     Beitrag Verfasst am: 16.07.2010, 21:06     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank schon mal für die Anwort und den Tip. Hatte es mal mit set-/getappdata versucht, aber bin nicht richtig damit zurecht gekommen. Denke ich werde mir es noch mal anschauen, wenn dies der sauberere Weg ist. Aber bin schon mal froh, das OOP mit GUI in Matlab generell kein Problem ist und ich hier nicht auf dem Holzweg bin. Wäre Schade um die vielen investierten Stunden ;=)

PS: Hast du vielleicht einen Tip, was man sich mal anschauen könnte in Bezug auf OOP In Matlab? In Google findet man leider nur auf den gefühlten ersten 100 Seiten meistens dieselben Ergebnisse, nur auf anderen Seiten referenziert.

Grüße,
Marcel
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 17.07.2010, 09:59     Titel:
  Antworten mit Zitat      
Hallo,

leider kann ich da auch nicht weiterhelfen.
In jedem Fall solltest du darauf achten, dass Materialien, die du dir anschaust, nach April 2008 erstellt wurden. Da hat sich nämlich die OOP in MATLAB grundlegend geändert (d.h. die alte Notation ist wohl noch möglich, aber nicht mehr empfohlen).

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dr.Demolition
Themenstarter

Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 13.07.10
Wohnort: nähe Wetzlar
Version: 7.10.0.499, 32bit
     Beitrag Verfasst am: 17.07.2010, 16:58     Titel:
  Antworten mit Zitat      
Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
tuelee
Forum-Anfänger
Forum-Anfänger

Beiträge: 32
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2010, 16:17     Titel:
  Antworten mit Zitat      
hallo,

ich habe das gleiche problem. ich habe eine gui geschrieben und habe mir überlegt, dass ich meine eingangswerte und die zu errechnenden werte als objekte laufen lasse. ich verstehe nun nicht so ganz, was mir setappdata / getappdata nutzen soll. für eine kleine erläuterung wäre ich sehr dankbar.

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 05.11.2010, 20:43     Titel:
  Antworten mit Zitat      
Hallo,

oft besteht das Problem, die Daten in verschiedenen Callback-Funktionen mit verschiedenen Workspaces verfügbar zu machen. Um die Daten nicht jedes Mal neu errechnen oder einlesen zu müssen, können sie mit setappdata als zu einem graphischen Objekt gehörige Daten (zwischen-)gespeichert und bei Bedarf mit getappdata wieder geholt werden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
tuelee
Forum-Anfänger
Forum-Anfänger

Beiträge: 32
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2010, 15:36     Titel:
  Antworten mit Zitat      
hallo harald,

so, nun habe ich die gui und meine klassen implementiert. ich habe nun versucht mit setappdata, in der gui, mir ein neues figurehandle zu erzuegen und komme nicht so recht weiter. ich weiß nicht so genau, an welcher stelle ich mir ein neues handle erzeugen muss, und wie ich es schaffe dass das handle über die gui-funktionen und die gui hinaus überleben. wäre toll, wenn du ein tip für mich hättest.

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
tuelee
Forum-Anfänger
Forum-Anfänger

Beiträge: 32
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2010, 15:19     Titel:
  Antworten mit Zitat      
hallo, habe das problem selber gelöst, glaube ich zumindest.

also, in der gui eröffnung setze ich mit setappdata einen wert.

Code:
function test_gui_2_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

slider_data.number_errors = 0;

setappdata(hObject,'slider',slider_data);
%setzen in hobject

guidata(hObject,handles);


in pushbutton1 lese ich es aus und aktualisiere sie.

Code:
function pushbutton1_Callback(hObject, eventdata, handles)

slider_data = getappdata(handles.figure1,'slider');
%auslesen aus handles.figure1

slider_data.number_errors = 2;

setappdata(hObject,'slider',slider_data);
%setzen in hobject

guidata(hObject, handles);



und lese den wert dann wieder mit pushbutton4 aus.

Code:
function pushbutton4_Callback(hObject, eventdata, handles)

slider_data = getappdata(handles.pushbutton1,'slider');
%auslesen aus handles.pushbutton1

guidata(hObject, handles);


hoffe, dass ich set/getappdata richtig nutze.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.