Appel d'une fonction MATLAB à partir de C #
J'ai développé une fonction MATLAB, et je suis à la recherche d'un moyen d'appeler cette fonction à partir d'une autre application en C# et passer un peu de paramètres et d'obtenir les résultats dans le programme C#.
J'ai entendu dire que je peux utiliser L'Échange Dynamique De Données (DDE) ou des objets COM, mais ont puis-je le faire?
source d'informationauteur Wassim AZIRAR
Vous devez vous connecter pour publier un commentaire.
Il y a bel exemple dans le MATLAB Central.
Il montre trois façons sur la façon de communiquer avec MATLAB:
COM (je n'ai aucune expérience avec elle)
Contre: MATLAB est nécessaire pour être installé sur l'ordinateur cible.
MATLAB .NET, générateur de compile le code MATLAB pour la .NET de l'assemblée et vous pouvez l'utiliser directement.
Pour: MATLAB n'est pas nécessaire pour être installé sur l'ordinateur cible
Inconvénients: C'est cher
MATLAB compilateur compile le code MATLAB en C/C++ de la bibliothèque ou de fichier EXE. Vous pouvez l'utiliser par le biais de P/Invoke.
Pour: MATLAB n'est pas nécessaire pour être installé sur l'ordinateur cible
Inconvénients: C'est cher, beaucoup de P/Invoke.
Il existe une troisième option: les délégués. Démarrage de MATLAB -> load .NET de l'assemblée -> execute .NET de la fonction avec le délégué de la poignée pour une fonction MATLAB.
Il en est un excellent exemple sur ce site sur la configuration de tout. Vous pouvez utiliser MATLAB .NET de l'outil de déploiement.
Vous devez
Outil de. Cela va créer un .dll fichier.
L'avantage de cette méthode est que la cible de la machine ne nécessite pas de MATLAB pour être installé, mais sur le revers de la médaille de l'exécution est assez cher.