Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

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")
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 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:

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

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

Apprenez Plus