|
|
Variablen im Workspace durch pushbutton ändern |
|
Ingo |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 20.06.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2007, 07:20
Titel: Variablen im Workspace durch pushbutton ändern
|
|
Moin alle anderen,
habe mal ne Frage zu den GUIs. Mann findet nämlich wirklich keine guten Hinweise.
Wie kann ich über einen Klick auf einen Bush-Button erreichen, dass Werte(Variablen) im Workspace geändert werden?
Gruß Ingo
Edit: Ich habe mal den Titel geändert. "GUI" war nicht so aussagekräftig. Gruß, Bijick
|
|
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 20.06.2007, 10:19
Titel: Globale Variable
|
|
Hallo Ingo,
ich gehe bei meiner Antwort mal davon aus, dass du prinzipiell schon mal ein GUI hast und in der entsprechenden Funktion
einer Variablen einen Wert zuweist.
Wenn die Reaktion sofort erfolgen soll (also nicht erst nach Schließen des GUIs), ist es am einfachsten, die Variable im Workspace und in der Funktion als global zu deklarieren. Dann wirkt sich eine Änderung im GUI auf den Workspace aus.
Wenn das nicht geht oder nicht erwünscht ist, muss man an den output-Argumenten des GUIs schrauben, das ist etwas komplizierter. In diesem Fall sind die Variablen aber auch erst nach Beendigung des GUIs im Workspace, wie bei jeder anderen Funktion auch.
Wie brauchst du es denn?
Herzliche Grüße
|
|
|
Ingo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 20.06.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2007, 10:27
Titel: GUI
|
|
Hi,
hab nicht viel Erfahrung mit GUIs. Eigentlich möchte ich eine Variable in Simulink verändern. Da ich diese bis jetzt im aber aus dem Workspace einlesen, dachte ich dass dieses der leichtere weg sei.
In meinem Simulink Programm steht die Variable "bearbeiten" dafür, ob er diesen Abschnitt bearbeitet oder nicht. ist "bearbeiten" = 0 wird sie nicht bearbeitet. Bei 1 schon. Je nach dem kann ich jetzt ganz einfach den Wert im Workspace ändern.
Um das noch besser zu machen wollte ich das mit einem GUI machen in dem ich einfach einen Button oder radiobutton betätige.
Gruß Ingo
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 20.06.2007, 12:19
Titel: Fortsetzung
|
|
Hm, mit Simulink kenne ich mich wiederum nicht aus. Hat man da auch ein m-File, von dem aus man den Prozess steuert? Dann könnte man dort das GUI mit seinem Namen (z.B. myGUI) aufrufen. Daraufhin öffnet sich myGUI.fig mit dem Button.
In dem dazugehörigen myGUI.m sollte dann stehen (der erste Absatz wird automatisch erzeugt):
Damit wird der Zustand der Variablen "bearbeiten" bei jedem Klick auf den Button geändert. Voraussetzung ist allerdings, dass sie auch im Workspace als global deklariert ist.
Setze ich noch zuviele GUI-Kenntnisse voraus?
Herzliche Grüße
|
|
|
rapand |
Forum-Newbie
|
|
Beiträge: 1
|
|
|
|
Anmeldedatum: 20.06.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2007, 20:29
Titel: GUI
|
|
Hallo Ingo,
vielleicht bringen Dir die Funktionen assignin() und eval() was damit kannst Du Variablen aus dem 'base' -Workspace holen oder dort hin schreiben.
Gruß
|
|
|
Babba |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 19.06.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.06.2007, 08:04
Titel:
|
|
Hallo Ingo,
vor dem gleichen Problem stand ich vor ein paar Wochen auch.
Ich hab ebenfalls eine Gui über die ich ein Simulink Modell starte.
Die Variablen die ich im Gui eingebe übergebe ich auch an den Workspace und hole sie mir mit Hilfe von Konstant Blöcken ins Simulink.
Die Übergabe in den Workspace kannst du recht einfach machen.
Einfach die folgende Zeile in den Callback des Buttons schreiben.
Mit dem get Befehl holst du dir den aktuellen Wert ( z. B. aus einem Editierfeld) den du in den Workspace schreiben willst.
Bei drücken des Buttons wird mit assignin der Wert an den Workspace übergeben.
Gruß Heiko
|
|
|
|
|
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.
|
|