Pré. | Proc. |
Solveur MATLAB
MATLAB est un environnement de calcul numérique et un langage de programmation qui comprend une grande bibliothèque de fonctions mathématiques, chacune pouvant être appelée à partir d'un script écrit en JavaScript .
Vous pouvez invoquer des fonctions mathématiques arbitraires à partir de MATLAB au moment exécuter à l'aide d'une construction simple, appelée classe Solveur , écrite en JavaScript . Une classe Solveur pour MATLAB peut appeler l'outil MATLAB externe via son API et lier les fonctions mathématiques directement à votre simulation en cours d'exécution. Par exemple :
var matlab = new Solver("matlab");
var resultFromMatlab = matlab.exec('complexMathsFunction', paramètre1, paramètre2);
Voir la rubrique d'aide Solveurs dans Simulations .
Fonctionnalités incluent :
- Récupération de vecteurs, de matrices, de nombres et de chaînes à partir de MATLAB
- Les vecteurs MATLAB sont renvoyés sous forme de tableaux unidimensionnels JavaScript (et les tableaux unidimensionnels JavaScript sont renvoyés sous forme de vecteurs MATLAB)
- Les matrices MATLAB renvoient des tableaux bidimensionnels JavaScript (et les tableaux bidimensionnels JavaScript renvoient des matrices MATLAB)
- Vous pouvez récupérer des valeurs de variables à partir de MATLAB en utilisant :
matlab.get(<nom>) - Vous pouvez appeler n'importe quelle fonction MATLAB avec des valeurs JavaScript en utilisant :
matlab.exec(<nom>, [<arguments>]) - Tous les arguments sont passés à l'intérieur d'un object JavaScript
- Vous pouvez également utiliser le résultat en JavaScript
- Vous pouvez exécuter n'importe quelle instruction MATLAB en utilisant :
matlab.exec("script")
Note : l’intégration avec MATLAB nécessite la version MATLAB R2018b ou supérieure.
Installation et configuration
Après avoir installé MATLAB, Enterprise Architect lira l'emplacement à partir du registre pour fournir une intégration automatique.
Si MATLAB ne se charge pas automatiquement, définissez le chemin (comme dans la rubrique d'aide Configurer la fenêtre Simulation SysML ) sur la valeur obtenue en exécutant « matlabroot » dans la console MATLAB.
Usage
Utiliser |
Discussion |
---|---|
Construire |
Créez un nouveau Solveur connecté à MATLAB en passant « matlab » au constructeur Solveur . C'est-à-dire : var matlab = new Solver('matlab'); |
Attribution de valeurs |
Attribuer des valeurs à l'aide de la fonction matlab.set. Par exemple : matlab.set('simple_value', 3.14); ou var myString = "ceci est un exemple string "; matlab.set('maChaîne', maChaîne); |
Récupération des valeurs |
Récupérez les résultats de MATLAB à l'aide de la fonction matlab.get. Par exemple : var simple_value = matlab.get('simple_value'); var maChaîne = matlab.get('maChaîne'); |
Appel de fonctions |
Passez le nom de la fonction comme premier paramètre à Solveur .exec. Soit:
// Enveloppez un nombre variable d'arguments dans un object à transmettre à solver.exec fonction args() { var obj = {}; pour (var i = 0; i < arguments.length; i++) { obj[i] = arguments[i]; } retourner obj; } var résultat = matlab.exec('minus', args(8, 4.5)); |
Tracer() |
La méthode Trace(statement) vous permet d'imprimer des instructions de trace à n'importe quel moment de votre simulation. Il s'agit d'un excellent moyen de compléter le log Simulation avec des informations de sortie supplémentaires pendant l'exécution. La sortie Trace() est écrite dans la fenêtre Simulation . Par exemple : matlab.set('simple_value', 3.14); var pi = matlab.get('simple_value'); Trace( "Valeur simple = " + pi ); |
Vidéos
Sparx Systems propose une vidéo YouTube sur l'utilisation de la console MATLAB pour créer un Solveur MATLAB. Voir :
Deux autres vidéos illustrent l'utilisation du Solveur MATLAB pour réaliser une Simulation Statemachine d'un essai de vaccin et d'un tirage au sort. Voir :