Réserver une Démo
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")
MATLAB est disponible comme alternative à la bibliothèque GNU Octave et peut être utilisé dans tous les mêmes contextes que GNU Octave.

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:

  • Pour les fonctions qui prennent un seul paramètre, transmettez simplement la valeur comme deuxième paramètre ; par exemple :
    var résultat = matlab.exec(' ceil ', 7.4);
ou
  • Si deux paramètres ou plus sont requis, transmettez tous les paramètres sous forme d' Object JavaScript comme deuxième paramètre ; cela peut être fait en ligne, comme :
    var résultat = matlab.exec('moins', {0 : 8, 1 : 4,5});
    Note : l'ordre des paramètres est déterminé par l'ordre alphabétique des noms object
Une fonction d'aide peut être utilisée ici pour éviter les erreurs :

// 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 :

Apprenez Plus