Directorio artículo
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
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
② orden de entrada en la ventana de comandos del Matlab:
setenv('MW_MINGW64_LOC','D:\TDM-GCC-64'),
③ continuación, introducir comandos:
mex -setup
④ a continuación, introduzca el comando
deploytool
⑤ continuación, aparecerá un cuadro de diálogo, seleccioneLibrary Compiler
⑥ luego salta al siguiente cuadro de diálogo:
⑦ conjunto
⑧ el conjunto blogger (imagen superior) para guardar el camino a continuación, se han producido archivos empaquetados sumfunc文件夹【有用】
y sumfunc.prj【没用】
:
punto de abrir sumfunc文件夹【有用】
después:
⑨ 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
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
② añadido 两个dll的引用
:
③ 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;
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();
Excelente código blogger para explicar:
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 :
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)