2009-10-16 8 views
5

Pour appeler du code MATLAB en C ou C++, comment choisissez-vous d'utiliser le moteur MATLAB et d'utiliser le compilateur MATLAB mcc pour créer des bibliothèques partagées C ou C++ à partir de votre code MATLAB? Quels sont leurs avantages et leurs inconvénients? Pour la deuxième méthode, voir http://www.mathworks.com/access/helpdesk/help/toolbox/compiler/f2-9676.htmlMoteur MATLAB par rapport aux bibliothèques créées par MATLAB Compiler?

Existe-t-il d'autres moyens d'appeler MATLAB à partir de C ou C++?

+1

Pourrait vouloir vérifier http://stackoverflow.com/questions/1071778/data-streaming-in-matlab-with-input-data-coming-in-from-ac-executable/1074038#1074038 – Jacob

+0

Merci mais ce n'est pas ce que je veux. Je ne parle pas d'appeler C ou C++ de Matlab par mex, mais de compiler mcc le code matlab dans la bibliothèque qui peut ensuite être appelée en C ou C++. – Tim

+1

Je ne connais pas la réponse complète, mais regardez les exigences d'installation pour l'exécution. L'appel du moteur MATLAB nécessite définitivement l'installation de MATLAB sur la machine. Cela est-il vrai pour les bibliothèques partagées? –

Répondre

2

Si le calcul est linéaire et long, j'utiliserais mcc pour compiler le code. C'est comme si MATLAB était simplement une autre bibliothèque avec des routines numériques pour être liée à votre programme.

Si je voulais fournir une interaction avec MATLAB dans mon programme, où l'utilisateur pourrait spécifier un grand nombre d'instructions qui seraient impossibles ou simplement fastidieuses à coder individuellement, alors j'utiliserais le moteur MATLAB. C'est comme si je voulais lancer MATLAB sans l'interface utilisateur de Mathworks.

Je n'ai jamais pris la peine d'ouvrir le moteur MATLAB en dehors d'un test.