|
leonardus |
Forum-Newbie
|
|
Beiträge: 1
|
|
|
|
Anmeldedatum: 24.03.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.03.2009, 14:23
Titel: GUI M-File
|
|
|
|
|
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
|
|
|
|
|
Real Weinteufel |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.03.2009, 13:27
Titel:
|
|
|
|
|
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.
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|