MATLAB misturado com c # exemplos de sucesso [medido] --c # invocação de auto Matlab a função de adição


A operação de gravação única compartilhada, irmão mais velho de ignorar.

Fundo
bloggers pela primeira vez usando programação Matlab misturado com c #, acesso multilateral e tentar o sucesso final com c # para blogueiros chamada usar uma simples função sumfunc Matlab self-made;

processo

0 compilador A Matlab

O primeiro passo no portal
blogueiros após a conclusão do Matlab e C # primeiro passo misto para iniciar a biblioteca de vínculo dinâmico dll eo Matlab gerado c # programação.

1, a referência principal

Bloggers usar 一篇论文的两段具体操作阐述e 传送门一和传送门二conteúdo, gerar dll:
graças aos muitos excelente artigo Gangster blogger:
Portal chama de --visual studioC # MATLAB gerado DLL
Portal Dois -C # Matlab chamar uns aos outros

Aqui Insert Picture Descrição

2, Matlab gerar a biblioteca de vínculo dinâmico dll

① em Matlab, blogueiros escreveu uma função simples adição, como segue:

function y = sumfunc(x1,x2)

y=x1+x2;

end 

Aqui Insert Picture Descrição
② comando de entrada na janela de comando Matlab:

setenv('MW_MINGW64_LOC','D:\TDM-GCC-64'),

Aqui Insert Picture Descrição
③, em seguida, digite os comandos:

mex -setup

Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
④, em seguida, digite o comando

deploytool

Aqui Insert Picture Descrição
⑤, em seguida, abrir uma caixa de diálogo, selecioneLibrary Compiler

Aqui Insert Picture Descrição

⑥ em seguida, salta para a caixa de diálogo seguinte:
Aqui Insert Picture Descrição
⑦ conjunto
Aqui Insert Picture Descrição
⑧ o conjunto blogger (imagem acima) para salvar o caminho a seguir, houve arquivos compactados sumfunc文件夹【有用】e sumfunc.prj【没用】:
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
ponto para abrir sumfunc文件夹【有用】depois:
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
⑨ total de só precisa usar dois dll :
um mapa está no sumfunc.dll, o outro é um caminho de instalação Matlab MWArray.dll(porta de transferência)

D: \ matlab2019a \ toolbox \ dotnetbuilder \ bin \ win64 \ v4.0
Aqui Insert Picture Descrição

Neste ponto, o segundo passo gerar dinâmica sucesso biblioteca de vínculo.

3, studio novos projetos e referências

① Newc#控制台应用.Net Framework

Aqui Insert Picture Descrição

Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
② adicionado 两个dll的引用:
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição

③ Na Program.cs文件的代码porção para a adição de três linhas:

using MathWorks.MATLAB.NET.Utility;
using MathWorks.MATLAB.NET.Arrays;
using sumfunc;

Aqui Insert Picture Descrição

Até agora, visual studio c configuração # projeto de sucesso

4, write c # código

			sumfunc.Class1 sum = new sumfunc.Class1();
            MWArray[] argsout = new MWArray[1];
            MWArray[] argsin = new MWArray[] { 2,3 };

            sum.sumfunc(1, ref argsout, argsin);  //     对于Class类型使用 ref,是为了保持引用的地址是一致的。

            MWNumericArray mw = argsout[0] as MWNumericArray;
            double[,] res = (double[,])mw.ToArray();
            string str = res[0, 0].ToString("F2");
            Console.WriteLine(res);
            Console.WriteLine(str);
            Console.ReadKey();

Aqui Insert Picture Descrição
Excelente código blogger para explicar:
Aqui Insert Picture Descrição

5, resolver bug

Bloggers encontrado após a execução de erro 未经处理的异常: System.TypeInitializationException, depois de blogueiros para encontrar soluções para artigos blogger pendentes, está prestes a mudar Qualquer x86 CPU, resumidos na outra postagem no blog bloggers, o Portal

6, os resultados operacionais

Então, blogueiros visual studio 2019 plataformas c # consola pode ser gerado por dll Matlab chama a função Matlab :

Aqui Insert Picture Descrição


Blogueiros também de código e arquivos DLL nos recursos de biblioteca, (não recomendado para blogueiros para download, você pode seguir os passos na blogueiros operação Bowen, e depois resolver alguns bug específico (bug ocorre devido a diferentes computadores podem variar) , será capaz de fazer.) gostaria de ter uma pré-visualização ou para ver Bo Amigos do processo de visualização pode ser baixado arquivos de código blogueiro portal
(incluindo o código e matlab dll arquivo que vem com dll blogueiros para escrever c # e plataforma Builder e referência o papel está limitado a amigos matlab2019a e de blog studio2019 visuais usar outras versões do bloggers incerteza pode diretamente executar)

Publicado 71 artigos originais · ganhou elogios 9 · vista 6548

Acho que você gosta

Origin blog.csdn.net/weixin_41529093/article/details/104472018
Recomendado
Clasificación