Pergunta

Depois de espreitar em torno da internet, parece que é possível interoperabilidade entre C # e Matlab. Eu estou querendo saber se alguém já teve sucesso com ele eo que eles fizeram para fazê-lo. Se possível alguma forma puxá-lo sem o uso de COM. Obrigado pelo seu tempo.

Foi útil?

Solução

Sim, perfeitamente possível. Embora eu acabei usando a interface C e pôr em que o uso de uma DLL de modo misto (e recebendo C # para pôr em que ... mas isso foi porque eu também estava interface com algum outro código C). É bastante simples. Em computadores onde você deseja executar o seu programa, você vai precisar instalar Matlab Runtime MCRInstaller.exe.

edit: removido ligação quebrada

Outras dicas

A partir da liberação R2009a de MATLAB, .NET objetos podem ser acessados ??a partir de MATLAB:

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

Em versões anteriores do MATLAB, é possível acessar objetos .NET de MATLAB usando CCW:

http: //www.mathworks. com / support / soluções / data / 1-5U8HND.html? solução = 1-5U8HND

eo motor MATLAB da NET:

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

Você também pode usar o MATLAB Builder NE para embrulhar m-código em .NET assembléias.

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

Sim, eu consegui fazer isso e foi principalmente indolor.

Você tem que compilar o código MATLAB para .NET (como explicado nas respostas penetrável), instalador MCR correr, referência MWArray.dll ea dll código compilado em seu projeto .NET e temos que ir.

O único incômodo foi o casting (e às vezes vários castings!) Que as forças de interface em você (usando explícita nos operadores elenco)

Há um invólucro livre e aberto .NET fonte para Matlab, e é muito simples: http://www.codeproject.com/KB/dotnet/matlabeng.aspx

Eu uso isso.

No R2009a pré-lançamento você pode chamar montagens .NET a partir MATLAB.

Eu não tenho certeza do quanto isso se aplica a você, mas tente olhar em executáveis ??Matlab ou MEX Basicamente, é muito fácil escrever um programa em C ou FORTRAN, incluir algumas bibliotecas e funções, e então você pode usá-lo C ou função Fortran em Matlab

Se você está disposto a gastar dinheiro este pode ser o que você precisa:

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

Pode gerar wrappers para código Matlab que permitem que ele seja chamado de ambos .NET e COM.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top