3 Stimmen

Simulink und MATLAB - Wann wird eine Arbeitsbereichsvariable im Vergleich zu einem Eingang/Ausgang verwendet?

Ich bin neu im Umgang mit Simulink und habe einige Modelle/Bibliotheken erstellt, die etwa fünf Eingänge und fünf Ausgänge haben. Soweit ich weiß, kann ich eine Variable aus dem Arbeitsbereich lesen und sie in den Arbeitsbereich meiner Bibliothek schreiben, oder ich kann Inports und Outports verwenden, um dasselbe zu erreichen.

Ist die eine Methode generell besser als die andere? Ich nehme an, dass jede Methode ihre Vor- und Nachteile hat, aber ich habe sie noch nicht entdeckt.

2voto

CraigChapman Punkte 71

Dies ist vergleichbar mit der Entscheidung, ob eine Funktion oder ein Skript bei der M-File-Programmierung verwendet werden soll. Ein Modell mit Ein- und Ausgängen als Schnittstelle ist wie eine Funktion, die definierte Ein- und Ausgänge hat.

Ich neige dazu, Simulink-Modelle ähnlich zu strukturieren wie meine M-File-Programme. Die meisten Modelle sind wie Funktionen aufgebaut. Sie haben Inports und Outports für alle ihre E/A. Der Vorteil dieses Ansatzes ist, dass diese Modelle in anderen Kontexten wiederverwendet werden können. Außerdem können Sie später entscheiden, ob Sie mehrere Kopien dieser Modelle haben möchten, was schwieriger wird, wenn alle E/A über dieselben Arbeitsbereichsvariablen laufen.

Manchmal benötigen die Untermodelle einige Daten, die im gesamten Modell gleich sind, und für diese Werte verwende ich Arbeitsbereichsvariablen. Ich versuche, dies für globale Konstanten zu reservieren.

Ich erstelle ein Top-Level-Modell, das die Untermodelle mit Hilfe von Daten aufruft, die direkt aus dem Arbeitsbereich oder aus Dateien auf der Festplatte gelesen werden können. Sobald die Untermodelle als Funktionen definiert sind, steht es Ihnen frei, die oberste Ebene auf verschiedene Arten zu strukturieren, die sich im Laufe der Entwicklung weiterentwickeln können.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X