sim
Simule un modèle nflow et retourne ses résultats.
📝Syntaxe
out = sim(model)
out = sim(model, 'StopTime', T)
out = sim(model, 'StopTime', T, 'SampleTime', dt)
📥Arguments d'entrée
Paramètre Description
model un système chargé (nom ou handle) ou le chemin d'un fichier .nflow.
StopTime scalaire numérique fini optionnel ; remplace la durée totale simulée du modèle.
SampleTime scalaire numérique fini optionnel ; remplace le pas d'échantillonnage du modèle.
📤Arguments de sortie
Paramètre Description
out une structure avec un champ par bloc To Workspace (son VariableName) plus 'tout' (le vecteur temps).
📄Description

sim simule le modèle model et retourne ses résultats.

Les blocs From Workspace lisent leur signal dans le workspace de base : définissez ces variables avant d'appeler sim. Les blocs To Workspace écrivent leur résultat dans le workspace de base (comme lors d'un run interactif) et sont aussi exposés comme champs de out (par exemple out.simout).

C'est un raccourci au-dessus du moteur headless __nflow_simulate__ : il lit le document du modèle, applique les surcharges optionnelles StopTime / SampleTime, lance le moteur et collecte les résultats.

Callback StopFcn. Si le modèle porte un champ de premier niveau stopFcn (un texte de commandes Nelson), il s'exécute dans le workspace de base une fois la simulation arrêtée, avec le résultat exposé comme out. Il ne se déclenche que lors d'un run de simulation (jamais au chargement du modèle) et s'exécute même sans sortie demandée : un modèle dont le stopFcn est NFlow.plotScopes(out) ouvre ainsi ses scopes automatiquement. Le bouton Run de l'éditeur nflow déclenche le même stopFcn. Un callback en échec émet un avertissement sans interrompre le run déjà terminé.

💡Exemples
Lancer une démo autonome et relire le signal journalisé
model = [modulepath('nflow_blocks'), '/examples/workspace/To_Workspace_Demo.nflow'];
out = sim(model, 'StopTime', 5);
plot(out.simout.time, out.simout.signals.values);
Alimenter un bloc From Workspace depuis le workspace de base
t = (0:0.01:10)';
simin = [t, sin(2*pi*0.5*t)];
out = sim([modulepath('nflow_blocks'), '/examples/workspace/From_Workspace_Demo.nflow']);
🔗Voir aussi
load_systemnew_systemfromWorkspacetoWorkspaceNFlow.plotScopes
🕔Historique des versions
Version Description
1.0.0 initial version
Modifier cette page sur GitHub