Pregunta

Después de mirar por internet parece que es posible interoperar entre C # y Matlab. Me pregunto si alguien ha tenido éxito con esto y qué hicieron para hacerlo. Si es posible, de alguna manera lograrlo sin el uso de COM. Gracias por tu tiempo.

¿Fue útil?

Solución

Sí, bastante posible. Aunque terminé usando la interfaz C y llamé a eso usando una DLL de modo mixto (y haciendo que C # llamara a eso ... pero eso fue porque también estaba interactuando con algún otro código C). Es bastante sencillo. En las computadoras donde desea ejecutar su programa, deberá instalar Matlab Runtime MCRInstaller.exe.

editar: enlace roto eliminado

Otros consejos

A partir de la versión R2009a de MATLAB, se puede acceder a los objetos .NET desde MATLAB:

http://www.mathworks.com/help/techdoc/matlab_external/ brpb5k6.html

En versiones anteriores de MATLAB, es posible acceder a objetos .NET desde MATLAB usando CCW:

http: //www.mathworks. com / support / solutions / data / 1-5U8HND.html? solution = 1-5U8HND

y el motor MATLAB de .NET:

http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/matlab_external/f135590.html#f135616

También puede usar MATLAB Builder NE para envolver el código m en ensamblados .NET.

http://www.mathworks.com/products/netbuilder/

Sí, logré hacer eso y fue casi indoloro.

Tendría que compilar su código MATLAB para .NET (como se explica en las respuestas anteriores), ejecutar el instalador MCR, hacer referencia a MWArray.dll y el código dll cumplido en su proyecto .NET y listo.

La única molestia fue el casting (¡y a veces múltiples castings!) que la interfaz te impone (usando explícito en los operadores de cast)

Hay un contenedor de .NET gratuito y de código abierto para Matlab, y es muy simple: http://www.codeproject.com/KB/dotnet/matlabeng.aspx

Yo uso esto.

En la versión preliminar R2009a puede llamar a ensamblados .net desde MATLAB.

No estoy seguro de cuánto se aplica esto a usted, pero intente buscar ejecutables de matlab o MEX Básicamente, es realmente fácil escribir un programa en C o FORTRAN, incluir algunas bibliotecas y funciones, y luego puede usar su función C o FORTRAN en matlab

Si está dispuesto a gastar dinero, esto puede ser lo que necesita:

http://www.mathworks.com/products/netbuilder/

Puede generar envoltorios para el código de Matlab que le permiten ser invocados desde .NET y COM.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top