Question

Un chercheur a créé une petite simulation dans MATLAB et nous souhaitons la rendre accessible aux autres.Mon plan est de prendre la simulation, de nettoyer quelques éléments et de la transformer en un ensemble de fonctions.Ensuite, je prévois de le compiler dans une bibliothèque C et d'utiliser SWIG pour créer un wrapper Python.À ce stade, je devrais pouvoir appeler la simulation depuis une petite application Django.Du moins je l'espère.

Est-ce que j'ai le bon plan ?Quelqu'un d'autre a-t-il fait quelque chose de similaire ?Pouvez-vous me faire savoir s'il existe des pièges sérieux dont je ne suis pas au courant pour le moment ?

Était-ce utile?

La solution

Je n'aiderai pas beaucoup mais je me souviens que j'ai pu intégrer une simulation MATLAB dans une DLL puis l'appeler depuis une application Delphi.Cela a très bien fonctionné.

Autres conseils

Une chose à retenir est que le compilateur Matlab ne compile pas réellement le code Matlab en instructions machine natives.Il l'enveloppe simplement dans un exécutable autonome ou une bibliothèque avec son propre moteur d'exécution qui l'exécute.Vous seriez en mesure d'exécuter votre code sans Matlab installé, et vous seriez en mesure de l'interfacer avec d'autres langages, mais il sera toujours interprété du code Matlab, donc il n'y aurait pas d'accélération.

J'essaierais aussi d'abord les ctypes.

  1. Utilisez le compilateur Matlab pour compiler le code en C.
  2. Compilez le code C dans une DLL.
  3. Utilisez des ctypes pour charger et appeler le code de cette DLL

L'étape la plus difficile est probablement l'étape 1, mais si vous connaissez déjà Matlab et avez utilisé le compilateur Matlab, vous ne devriez pas avoir de problèmes sérieux avec celui-ci.

Essayez peut-être types au lieu de SWIG.S'il a été inclus dans Python 2.5, alors il doit être bon :-)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top