MATLAB mezclado con C # ejemplos de éxito [medido] --c # invoke auto MATLAB la función de adición


Una operación de grabación única compartida, hermano mayor de salto.

Antecedentes
bloggers por primera vez utilizando la programación MATLAB mezclado con C #, el acceso multilateral y probar el éxito final con C # para los bloggers de llamadas utilizar una simple función de Matlab sumfunc hecho a sí mismo;

proceso

0 El compilador de MATLAB

El primer paso en el portal
bloggers después de la finalización de Matlab y C # mixta primer paso para iniciar la biblioteca de vínculos dinámicos DLL y el MATLAB generada programación C #.

1, la referencia principal

Bloggers usan 一篇论文的两段具体操作阐述y 传送门一和传送门二contenido, generar DLL:
gracias a los muchos excelente artículo Gangster blogger:
Portal llama a un archivo DLL --Visual generados por MATLAB StudioC #
portal dos -C # Matlab llaman con el propio

Aquí Insertar imagen Descripción

2, Matlab generar la biblioteca de enlace dinámico DLL

① en Matlab, bloggers escribieron una función simple adición, de la siguiente manera:

function y = sumfunc(x1,x2)

y=x1+x2;

end 

Aquí Insertar imagen Descripción
② orden de entrada en la ventana de comandos del Matlab:

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

Aquí Insertar imagen Descripción
③ continuación, introducir comandos:

mex -setup

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
④ a continuación, introduzca el comando

deploytool

Aquí Insertar imagen Descripción
⑤ continuación, aparecerá un cuadro de diálogo, seleccioneLibrary Compiler

Aquí Insertar imagen Descripción

⑥ luego salta al siguiente cuadro de diálogo:
Aquí Insertar imagen Descripción
⑦ conjunto
Aquí Insertar imagen Descripción
⑧ el conjunto blogger (imagen superior) para guardar el camino a continuación, se han producido archivos empaquetados sumfunc文件夹【有用】y sumfunc.prj【没用】:
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
punto de abrir sumfunc文件夹【有用】después:
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
⑨ total de sólo tendrá que utilizar dos DLL :
un mapa está en sumfunc.dll, la otra es una ruta de instalación MATLAB MWArray.dll(puerta de transferencia)

D: \ matlab2019a \ caja de herramientas \ dotnetbuilder \ bin \ win64 \ v4.0
Aquí Insertar imagen Descripción

En este punto, el segundo paso de generar el éxito librería de enlace dinámico.

3, estudio visual nuevos proyectos y referencias

① Nuevac#控制台应用.Net Framework

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
② añadido 两个dll的引用:
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

③ En la Program.cs文件的代码parte para la adición de tres líneas:

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

Aquí Insertar imagen Descripción

Hasta el momento, el estudio visual C # configuración del proyecto del éxito

4, c # código de escritura

			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();

Aquí Insertar imagen Descripción
Excelente código blogger para explicar:
Aquí Insertar imagen Descripción

5, solucionar error

Bloggers encuentran después de error al ejecutar 未经处理的异常: System.TypeInitializationException, después de bloggers para encontrar soluciones a los artículos pendientes blogger, está a punto de cambiar cualquier CPU x86, que se resumen en otro blog de correos bloggers, el Portal

6, los resultados operativos

A continuación, los bloggers Visual Studio 2019 plataformas de consola de C # pueden ser generados por la DLL de Matlab llama a la función de MATLAB :

Aquí Insertar imagen Descripción


También serán de código y los archivos DLL en los recursos de la biblioteca, (no se recomienda para los bloggers bloggers a descargar, puede seguir los pasos de la operación de los bloggers Bowen, y luego resolver algunos errores específicos (error se produce debido a diversas computadoras puede variar) , será capaz de hacer.) le gustaría tener una vista previa o para ver Bo Amigos de proceso de visualización se pueden descargar archivos de código blogger Portal
(incluyendo el código y MATLAB archivo DLL que viene con dll bloggers para escribir c # y la plataforma del constructor y referencia el papel se limita a matlab2019a y blogs studio2019 visual amigos utilizar otras versiones de bloggers incertidumbre puede ejecutar directamente)

Publicado 71 artículos originales · ganado elogios 9 · vistas 6548

Supongo que te gusta

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