2009-10-03 18 views
11

Tengo algunos code que trazan triángulos en MATLAB.Cómo llamar al código de MATLAB desde C?

Necesito ser capaz de ejecutar de alguna manera este código de mi programa C que genera estos puntos.

¿Es esto posible? ¿Cómo puede hacerse esto?

Es sólo una idea: ¿hay algún modo incrustar código de MATLAB en C, de modo que pueda compilar en un compilador de C?

Respuesta

8

Como se mencionó anteriormente por los contestadores, puede llamar a una copia en vivo de MATLAB desde C a través de la interfaz MATLAB Engine.

Si el producto final necesita ser utilizado donde no hay una copia en vivo de MATLAB, puede implementar la aplicación usando MATLAB Compiler. Sin embargo, el compilador MATLAB no, como otra sugerencia ha sugerido, convierte los programas de MATLAB en código C (y no lo ha hecho en algunas versiones ahora). En su lugar, archiva y encripta su programa MATLAB, y lo empaqueta en una biblioteca ejecutable o compartida que se ejecuta en el tiempo de ejecución del compilador MATLAB (que se puede compartir sin derechos de autor). La biblioteca ejecutable o compartida puede llamarse desde C.

O bien, puede ir a la inversa y llamar a su código C desde MATLAB, usando loadlibrary o MATLAB MEX interface.

Actualización: A partir del release R2011a, también puede usar MATLAB Coder para generar código C directamente desde un subconjunto del lenguaje MATLAB.

+0

he vinculado a un producto equivocado - la generación de código C a partir de Matlab es bastante fundamental de cómo se utiliza en muchas industrias. –

+0

Sí, si desea generar código C de MATLAB para aplicaciones integradas, puede hacerlo utilizando el comando emlc. Esto requiere que también tengas tanto Simulink como Real-Time Workshop, aunque (no MATLAB Compiler), y eso parece exagerado para trazar puntos de un triángulo :) –

+0

update: MathWorks ahora tiene un nuevo producto: [MATLAB Coder] (http://www.mathworks.com/products/matlab-coder/) – Amro

Cuestiones relacionadas