Interoperando entre Matlab y C#
.net matlab-deployment (7)
Después de echar un vistazo por Internet, parece que es posible interpolar entre C # y Matlab. Me pregunto si alguien ha tenido éxito y qué hicieron para hacerlo. Si es posible, de alguna manera, quitárselo sin el uso de COM. Gracias por tu tiempo.
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 utilizando CCW:
http://www.mathworks.com/support/solutions/data/1-5U8HND.html?solution=1-5U8HND
y el motor MATLAB de .NET:
También puede usar MATLAB Builder NE para envolver el código m en ensamblajes .NET.
En el prelanzamiento R2009a puede llamar a los ensamblados de .net desde MATLAB.
Hay un contenedor .NET gratuito y de código abierto para Matlab, y es muy simple: http://www.codeproject.com/KB/dotnet/matlabeng.aspx
Yo uso esto.
No estoy seguro de lo mucho que esto se aplica 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
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, referenciar MWArray.dll y el dll de código compilado en su proyecto .NET y listo.
La única molestia fue el casting (¡y algunas veces múltiples fundiciones!) Que la interfaz te obliga (usando explícitamente a los operadores de cast)
Sí, muy posible. Aunque terminé usando la interfaz C y llamé a eso usando una DLL de modo mixto (y obteniendo C # para llamar a eso ... pero eso era 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: eliminado el enlace roto
Si está dispuesto a gastar dinero, esto puede ser lo que necesita:
http://www.mathworks.com/products/netbuilder/
Puede generar contenedores para el código de Matlab que permiten que se llame desde .NET y COM.