Verfasst am: 20.11.2008, 17:54
Titel: Wie auf den Workspace von einem Function-File aus zugreifen?
Servus!
Ich bin grad ein bisschen am verzweifeln. Ich muss unbedingt von einem Function-File aus auf die Variablen im Workspace zugreifen können. Hintergrund ist, dass ich aus einer Function heraus ein Simulink-Model laufen lassen will und das kann nur auf den "Grund"-Workspace zugreifen.
Wenn ich die Function also zum laufen bringen will muss das hinhauen. Der Global-Workspace nützt mir nix, weil Simulink darauf auch nicht zugreifen kann. Die Variablen direkt in Simulink zu definieren hilft auch nicht, da die Function ja gerade dafür gedacht ist, bestimmte Variablen des Simulink-Modells zu verändern.
Hintergrund ist der, dass die Function die notwendige Reglereinstellung für eine geforderte Überschwingweite berechnet. Im Simulink-Model wird immer ein Sprung am Eingang drauf gegeben. Also bissel akademische Regelkreis-Spielerei.
Das sieht grundsätzlich so aus:
Code:
function krue = ueber(dh, typ) % Berechnet die Reglerverstaerkung % Fuer gegebenen Ueberschwingwert
Wär echt super, wenn Jemandem dazu was einfallen würde. Weil im Moment hänge ich an dieser Stelle. Ich will nicht für jeden Regler (P, PI, PID) ein eigenes M-File schreiben, das sieht einfach blöd aus. Ausserdem ist die Interaktion mit dem Benutzer über Functions viel besser als wenn ich die Pramater über input() in einem Skript abfragen würde. Das ginge zwar auch, aber ich wills erstmal mit der function machen.
Ich hab also alle Variablen sozusagen doppelt initialisiert. In der Function und dann nochmal im Base-Workspace. In den Schleifen musste ich das dann auch nochmal machen.
Mensch, danke nochmal für deine Hilfe. Ohne wär ich echt aufgeschmissen gewesen .
Schönes WE dann noch,
GMB
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
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.