Tutoriel : construire un système du premier ordre avec rebouclage, puis choisir un solveur.
Ce deuxième tutoriel construit un système continu et montre comment le solveur change sa façon d'être intégré. Le modèle est un retard du premier ordre : une entrée en échelon pilote un état qui tend vers l'entrée avec la constante de temps tau. L'équation est dx/dt = (u - x) / tau, que vous construisez avec un Sum, un Gain et un Integrator reliés en boucle de rebouclage. Il suppose que vous avez fait nflow_tutorial_first_model.
Poser les blocs
Régler les paramètres des blocs
Sélectionnez le bloc Sum et réglez ses signes sur un plus et un moins, afin qu'il calcule l'entrée moins l'état rebouclé. Sélectionnez le bloc Gain et réglez Gain sur 1 / tau ; pour tau = 0,5 s, réglez-le sur 2. Laissez l'Integrator avec une condition initiale de 0.
Relier les blocs
Le fil qui part de l'Integrator vers le Sum est le chemin de rebouclage. C'est lui qui fait que l'état se stabilise au lieu de croître sans limite.

Exécuter avec le moteur par défaut
Réglez Temps d'arrêt (s) sur environ 5 dans l'onglet Modèle et appuyez sur Exécuter. Sans solveur sélectionné, nflow utilise le moteur discret à pas fixe, et chaque bloc continu s'intègre avec un pas d'Euler propre au bloc, au Temps d'échantillonnage (s) du modèle. Le Scope montre l'état qui monte vers la valeur de l'échelon selon une courbe exponentielle.
Choisir un solveur
Ouvrez l'onglet Modèle et réglez le Solveur. La valeur par défaut (discrete) conserve le moteur à pas fixe. Choisissez ode4 pour une intégration Runge-Kutta d'ordre quatre à pas fixe, plus précise qu'Euler au même pas. Choisissez ode45 pour un pas adaptatif piloté par les tolérances. Quand un solveur adaptatif est sélectionné, réglez Tolérance relative et Tolérance absolue, ainsi qu'un plafond optionnel Pas maximal (0 = auto). Des tolérances plus serrées donnent une trajectoire plus précise au prix de plus de sous-pas. Voir nflow_solvers pour la liste complète et la correspondance de chaque solveur avec le code C et Rust généré.

Comparer le pas
Réduisez le Temps d'échantillonnage (s) et relancez avec le moteur discret pour voir le résultat d'Euler se rapprocher de celui d'ode4. C'est l'arbitrage qu'un solveur gère pour vous : la précision contre le nombre de pas.
Pour aller plus loin
Ajoutez un second Integrator et un gain de rebouclage pour obtenir un système du second ordre tel qu'un système masse-ressort-amortisseur, puis poursuivez avec nflow_tutorial_dashboard pour piloter le modèle avec des commandes en direct pendant l'exécution.
open_system([modulepath('nflow_blocks', 'root'), '/examples/causal/Second_Order_Responses_Demo.nflow']);
| Version | Description |
|---|---|
| 1.0.0 | version initiale |