|
|
Alle Variablen aus Scriptaufruf in Workspace kopieren |
|
ChristianT |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.05.2015, 16:03
Titel: Alle Variablen aus Scriptaufruf in Workspace kopieren
|
 |
Hallo zusammen,
innerhalb einer Funktion rufe ich ein paar Scripte auf, deren Hauptaufgabe das Erzeugen von Variablen ist.
Rufe ich die Scripte einzeln auf, werden die Variablen im Workspace erzeugt. Erstelle ich ein Funktion, die die Scripte aufruft, werden die Variablen nur innerhalb der Funktion erzeugt und "schaffen" es nicht bis zum Workspace. Allerdings benötige ich die Variablen im Workspace.
Da ich die Scripte nicht verändern kann/möchte, suche ich nach einem eleganten Weg einfach alle in einer Funktion (oder Script) erzeugten Variablen in den Workspace zu hieven.
Kann mir hier jemand einen Tipp geben?
Viele Grüße
Christian
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 04.05.2015, 16:12
Titel:
|
 |
das ist die gewollte funktionsweise von funktionen. sie haben ihren eignenen variablen raum. wenn du vaiablen haben willst musst du sie als rückgabe argument festlegen. es giebt noch umwege über assignin aber das würde ich nicht empfehlen. eine rückgabe der benötigten werte ist da weitaus übersichtlicher.
_________________
richtig Fragen
|
|
|
ChristianT |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.05.2015, 16:25
Titel:
|
 |
Hallo Winkow,
danke für deinen Beitrag. Mir ist die Funktionsweise soweit geläufig. Die restliche Toolkette erlaubt mir hier aber kein beliebiges Handeln. Die Variablen werden in Skripten erzeugt und müssen im Workspace vorliegen. Ich benötige jedoch Funktionen, die ich parametrieren kann.
Viele Grüße
Christian
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 04.05.2015, 21:21
Titel:
|
 |
|
 |
|
Hallo ChristianT,
Nun, das ist ein Problem. Die bisherigen Scripte sind einfach ein schlechtes Design. Eine Erweiterung eines schlechten Designs benötigt noch schlechtere Methoden. Und in Kürze ist ein Programm so unübersichtlich, dass man es am besten löscht, weil es ernsthafte Arbeit verhindert.
Wenn es wirklich unbedingt notwendig ist, Variablen aus Scripten durch Funktionen hindurch automagisch bis in den Base-Workspace weiter zu geben, wäre für mich eindeutig die Grenze erreicht, bei der ich ein vollständiges Redesign des Programms in Angriff nehmen würde. Sowas lässt sich einfach nicht mehr sinnvoll debuggen. Das Arbeiten mit solchem Code wird exponentiell komplexer und ich habe zu viele Software-Projekte an soclehn Schwierigkeiten scheitern sehen. Aus solchen Gründen ist es für professionelle Programmierer so wichtig, sich vor dem Beginn des Schreiben eines Programmes ausführlich Gedanken über das Design zu machen. Software-Engineering ist kein Luxus.
Du kannst mit WHOS und EVALIN hier einiges zusammen basteln, aber ich rate ganz ausdrücklich unbedingt davon ab.
Viele Grüße und viel Erfolg!
Jan
|
|
|
|
|
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 - 2025
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.
|
|