|
|
Kein Zugriff auf Workspace |
|
Driss |
Forum-Anfänger
|
|
Beiträge: 45
|
|
|
|
Anmeldedatum: 13.10.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.09.2013, 00:13
Titel: Kein Zugriff auf Workspace
|
|
Hallo
ich bin ein Anfänger, was gui angeht, und ich habe nun ein Gui als Control desk gebaut, wo ich zum Beispiel Simulationsmodell starten, stopen und aktueller Stand abfragen usw. kann. Ich habe ein Button erstellt, wo ich das Modell initialisiere, und wenn ich den Button anklicke läuft soweit alles ok aber wenn ich das Modell simuliere, bekomme ich einen Fehler, dass ein paar prameter nicht defeniert sind. Danach habe ich gemerkt, dass diese Parameter gar nicht im Workspace liegen!!.
Nun weiss ich nicht, wie ich diese Parameter in Workspace laden soll?
Könnt mir bitte helfen?
Danke
Driss
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 28.09.2013, 01:12
Titel: Re: Kein Zugriff auf Workspace
|
|
Hallo Driss,
Die Erklärung ist noch vage. In welchen Workspace möchtest Du die Variablenerstellen? Jede Funktion hat ja ihren eigenen.
Gruß, Jan
|
|
|
Driss |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 45
|
|
|
|
Anmeldedatum: 13.10.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.09.2013, 08:29
Titel:
|
|
Hallo Jan,
ich meine Matlab Workspace (haupt workspace). Denn ich kann mir über gui auch bestimte Parameter in Workspace abfragen und editieren mit:
evalin.
In meinem Fall habe ich ein Modell, welches ich durch fünf verschiedene initialisierungsdateien über gui bedaten und starten möchte. Und wenn ich eines davon selektiere, wird ein m-file durch run funktion ausgeführt und dabei landet nur ein Teil der Parameter in Matlab Workspace und wenn ich das Modell starte bekomme ich natürlich Fehler, dass der Rest der Modell-Parameter undefeniert sind.
Ich hatte es versucht durch global aber es sind viele Parameter.
Die Frage ist, wie kann ich aus der gui aus ein m-file ausführe so dass, alle Variablen in haupt Workspace landen?
Danke im Voraus
Driss
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 28.09.2013, 09:58
Titel:
|
|
|
|
Driss |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 45
|
|
|
|
Anmeldedatum: 13.10.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.09.2013, 10:30
Titel:
|
|
|
|
|
[/code]Hallo Harald,
erstmal danke für die schnelle Antwort.
Ja es ist richtig, ich möchte auch das Modell aus der Gui steuern.
Bis jetzt konnte es tun durch:
Allerdings, ich musste das Modell über Commandwindow initialisieren und nicht über Gui damit die Parameter im Hauptworkpace landen.
Jetzt habe ich es versucht über 'SrcWorkspace'
Aber ich muss das Modell noch mal initialisieren durch Ausführen des Inifiles. Obwohl ich das vorher durch einen anderen Button tun.
Da ich das Modell mit 3 varianten simulieren kann, habe ich für jede Variante ein Button erstellt und dem entsprechend wird die Inifile ausgeführt. Die Frage ist warum soll ich den Inifile beim simulieren noch mal ausführen?
Mit den Funktionen getappdata /setappdata habe ich das Problen, wie diese Parameter innerhlb der gui managen kann.
Die Idee ist, dass ich alle Modellparameter, die in gui bei Variantenauswal landen zu einem Variablen zuordne und dieser dann mit setappdata bein starten der Simulation wieden aufrufe.
Aber ich weiss es nicht wie? .
Wie kann ich alle Inifies zu einem Variablen zuordnen?
Ergendwas mache ich falsch oder?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.09.2013, 17:02
Titel:
|
|
Hallo,
Zitat: |
Aber ich muss das Modell noch mal initialisieren durch Ausführen des Inifiles. Obwohl ich das vorher durch einen anderen Button tun. |
Warum musst du nochmal initialisieren? Wenn mit einem anderen Button initialisiert wird, werden eventuelle Variablen eben nur in diesem Callback angelegt und sind damit nur dort verfügbar.
Zitat: |
Mit den Funktionen getappdata /setappdata habe ich das Problen, wie diese Parameter innerhlb der gui managen kann.
Die Idee ist, dass ich alle Modellparameter, die in gui bei Variantenauswal landen zu einem Variablen zuordne und dieser dann mit setappdata bein starten der Simulation wieden aufrufe.
Aber ich weiss es nicht wie? .
Wie kann ich alle Inifies zu einem Variablen zuordnen? |
Die Fragen bitte konkretisieren bzw. anhand eines Code-Beispiels erläutern.
Grüße,
Harald
|
|
|
Driss |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 45
|
|
|
|
Anmeldedatum: 13.10.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.09.2013, 21:04
Titel:
|
|
|
|
|
Hallo,
Zur Erklärung was ich mit der Gui vorhabe.
Fall1: Mein Modell besteht aus zwei Teilen. Ein Teil hat drei mechanische Komponenten und der andere hat drei hydraulische Komponenten.
Fall2: Das Modell kann für drei verschiedene Fahrzeuge simuliert werden.
Zu Fall1: In der Gui habe ich für jeden Teil bestimmte Parameter definiert, wo ich durch einen Klick auf Button ihre Werte angezeigt werden. Übrigens das klappt bis jetzt allerdings die Werte werden aus dem Haupt Workspace abgefragt.
zu 2: Damit ich die Werte für 1: abfragen kann, muss ich erst mal das Modell initialisieren. Dies tue ich über drei anderen Buttons. Jeder Button steht für ein Fahrzeugtype.
So jetzt zur Anwendung: Erstens ein Button von den drei anklicken um den Fahrzeugtype auszuwählen(das mache ich mit 2:). Somit wir das Modell durch den Befehl run xxxx initialisiert.
Das heißt die Modellparameter sind nur innerhalb dieser Funktion abfragbar.
Jetzt will der Anwender die Parameter(Fall 1) abfragen, und das geht durch anklicken auf einem Button.
Die Parameter sind innerhalb dieser Callback nicht verfügbar!
Das will ich über getappdata /setappdata ermöglichen.
wie soll ich das machen?
Ich muss innerhalb der Callback(Fall 2:) die Modellparameter zu einem Variablen zuordnen.
setappdata(handles.pushbutton1);
und in (Fall1:) über
J = getappdata(handles.pushbutton1);
die Modellparameter verfügbar machen
Hier ist mein Problem.
Ich hoffe dass, das Problem erkennbar geworden ist.
Danke
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 30.09.2013, 16:02
Titel:
|
|
Hallo Driss,
Ich verstehe das Problem immer noch nicht so richtig.
Du kannst statt SETAPPDATA und GETAPPDATA auch die einfachere Funktion GUIDATA benutzen, mit dem der "handles" Struct üblicherweise geupdated wird.
Gruß, Jan
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.09.2013, 21:28
Titel:
|
|
Hallo,
@ Jan: man kann sicher darüber streiten, ob nun guidata oder setappdata/getappdata einfacher sind. Ich meine, dass setappdata/getappdata vor allem sicherer sind, da ich es schon allzu oft gesehen habe, dass sich Leute mit guidata versehentlich die Handles zu den GUI-Objekten überschreiben.
@ Driss:
Schau dir doch mal die Doku zu setappdata/getappdata an.
Die einzige dokumentierte Syntax ist:
Das entsprechende Gegenstück dann:
Grüße,
Harald
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 30.09.2013, 23:56
Titel:
|
|
Hallo Harald,
Ich streite mich sicher nicht über GUIDATA. Es ist praktisch, alle Daten eines Figure-Objektes gebündelt in einer Variablen zu haben, aber dadurch steigt natürlich die Gefahr des irrtümlichen Überschreibens.
Ich erstelle meine GUIs ohne GUIDE und bevorzuge SETAPPDATA und die Benutzung der UserData.
Gruß, Jan
|
|
|
Driss |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 45
|
|
|
|
Anmeldedatum: 13.10.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.10.2013, 14:47
Titel:
|
|
Hallo Zusammen,
das Problem besteht weiterhin!
Wenn ich auf ein Radio Button klicke, wird das Modell für Variante A ausgeführt.
Es wird ja der m-file problemlos ausgeführt.
Nun klicke ich auf einen Push Button, wo ich mir ein paar Werte für bestimmte Parmeter anzeige.
Nun wie kann ich auf die richtigen Werte der Parameter zugreifen?
|
|
|
Driss |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 45
|
|
|
|
Anmeldedatum: 13.10.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.10.2013, 14:53
Titel:
|
|
Hallo Zusammen,
das Problem besteht weiterhin!
Wenn ich auf ein Radio Button klicke, wird das Modell für Variante A ausgeführt.
Es wird ja der m-file problemlos ausgeführt.
Nun klicke ich auf einen Push Button, wo ich mir ein paar Werte für bestimmte Parmeter anzeigen möchte.
Nun wie kann ich auf die richtigen Werte der Parameter zugreifen?[/code]
|
|
|
|
|
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.
|
|