Pré. | Proc. |
Solveur MATLAB
MATLAB est un environnement informatique numérique et un langage de programmation qui comprend une vaste 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 en utilisant une construction simple, appelée Solveur Class, écrite en JavaScript . Une classe Solveur pour MATLAB peut appeler l'outil MATLAB externe via son API et lier les fonctions mathématiques directement dans 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 les simulations .
Les Fonctionnalités incluent :
- Récupération de vecteurs, de matrices, de nombres et de chaînes depuis 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 sont renvoyées sous forme de tableaux bidimensionnels JavaScript (et les tableaux bidimensionnels JavaScript sont renvoyés sous forme de 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 MATLAB version R2018b ou supérieure.
Installation et configuration
Après avoir installé MATLAB, Enterprise Architect lira l'emplacement 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 de 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'); |
Affectation de valeurs |
Attribuez 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('myString', myString); |
Récupération des valeurs |
Récupérez les résultats de MATLAB à l'aide de la fonction matlab.get. Par exemple: var valeur_simple = matlab.get('valeur_simple'); var maChaîne = matlab.get('maChaîne'); |
Fonctions d'appel |
Passez le nom de la fonction comme premier paramètre à Solveur .exec. Soit:
// Enveloppe un nombre variable d'arguments dans un object à passer à solver.exec fonction args() { var obj = {} ; for (var i = 0; i < arguments.length; i++) { obj[i] = arguments[i] ; } retourner obj ; } var résultat = matlab.exec('moins', args(8, 4.5)); |
Trace() |
La méthode Trace(statement) vous permet d'imprimer des instructions de trace à n'importe quel point arbitraire de votre simulation. C'est un excellent moyen de compléter le log de 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 fournit une vidéo YouTube sur l'utilisation de la console MATLAB pour créer un MATLAB Solveur . Voir:
Deux autres vidéos illustrent l'utilisation du MATLAB Solveur dans la réalisation d'une Simulation Statemachine d'un essai de vaccin et d'un tirage au sort. Voir: