2008-08-07 15 views
9

Un investigador ha creado una pequeña simulación en MATLAB y queremos que sea accesible para otros. Mi plan es tomar la simulación, limpiar algunas cosas y convertirla en un conjunto de funciones. Luego planeo compilarlo en una biblioteca C y usar SWIG para crear un contenedor Python. En ese momento, debería poder llamar a la simulación desde una pequeña aplicación de Django. Por lo menos eso espero.¿Alguien tiene experiencia creando una biblioteca compartida en MATLAB?

¿Tengo el plan correcto? ¿Alguien más ha hecho algo similar? ¿Me puede decir si hay algún escollo grave del que no estoy enterado en este momento?

Respuesta

3

No ayudaré mucho pero recuerdo que pude envolver una simulación MATLAB en DLL y luego llamarla desde una aplicación Delphi. Funcionó realmente bien.

1

Quizás intente ctypes en lugar de SWIG. Si se ha incluido como parte de Python 2.5, entonces debe ser bueno :-)

2

También probaría los tipos primero.

  1. el compilador se utilice Matlab para compilar el código en C.
  2. Compilar el código C en un DLL.
  3. Use ctypes para cargar y llamar al código de esta DLL

El paso más difícil es probablemente 1, pero si usted ya sabe Matlab y ha utilizado el compilador de Matlab, que no debería tener serios problemas con él.

5

Una cosa para recordar es que el compilador de Matlab realmente no compila el código de Matlab en las instrucciones nativas de la máquina. Simplemente lo envuelve en un ejecutable independiente o una biblioteca con su propio motor de tiempo de ejecución que lo ejecuta. Sería capaz de ejecutar su código sin instalar Matlab, y podría interactuar con otros lenguajes, pero aún así se interpretará el código de Matlab, por lo que no habrá aceleración.

Cuestiones relacionadas