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

GUI M-File

 

leonardus
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 24.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2009, 14:23     Titel: GUI M-File
  Antworten mit Zitat      
Hallo Zusammen,

Ich beschäftige mich gerade mit dem GUI bzw. .m file von dem GUI und komme nicht weiter voran. es ist folgendes:

Ich hab ein GUI, nenn mal A und in dem GUI soll der Benutzer die Werte von Variablen eintragen, und die werte werden in dem Workspace gespeichert.
Nachdem der Benutzer alles fertig eingegeben hat, soll er auf Startbutton drucken. Danach wird eine externe m.file (nenn mal B) aufgerufen die diese Variable verarbeitet.

Mein Problem ist folgendes:
Die Variablen sind schon gespeichert in dem Workspace, aber jedes Mal wenn B sie aufrufen will, komm eine Meldung :

??? Undefined function or variable 'XX'.

Was mir auch gerade aufgefallen ist, normalerweise wenn man irgendwas z.B a=5 im m.file schreibt, nachdem Durchlaufen der m.file, wird der Wert a = 5 im Workspace automatisch eingetragen. Aber wenn ich in der m.file von GUI schreibe, wird der Wert nicht automatisch eingetragen, sondern muss ich extra mit dem Befehl 'assignin' manuell speichern.

Ich würd mich sehr bedanken für die hilfsreiche Antwort.

MfG,
Leo
Private Nachricht senden Benutzer-Profile anzeigen


Real Weinteufel

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2009, 13:27     Titel:
  Antworten mit Zitat      
Servus!

Dein Problem wird sein, dass alles was du an Variablen in der GUI m-File machst, in der struktur handles läuft.
du brauchst garnicht über den Workspace gehen, wenn du das was deine externe m-Datei macht als function in derselben deklarierst.
sieht dann so aus:
externes m-File:
function ab = hurz(a,b,...,e)

jetzt kommt das was du rechnen willst, und zum Schluß

ab = ... ;
ab enthält den Rückgabewert deiner Funktion, steht dann auch im workspace. der Name des m-Files muß den Namen der Funktion haben, hier hurz. Also Hurz.m.

jetzt kommt die m-Datei der GUI:

irgendwo hast du die Callback Funktion deines StartButtons
in dieser ließst du dann die textfelder aus mit
handles.wert1 = get(....);
...
Dann speicherst du das in ner Variable:
a = [handles.wert1, ..., handles.wert5];
b = ...;
und rufst deine Function in der anderen m-file auf und zwar so:

hurz(a,b,...,);

und so bekommt deine externe m-Datei die Parameter mit der funktion übergeben. Der Rückgabewert der Funktion in der anderen m-File (hier ab) steht dann auch im Workspace zur Verfügung.
 
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.