C# matalb混合编程/matlab神经网络工具箱无法编译/C#调用matlab工具箱函数“未定义与 'struct' 类型的输入参数相对应的函数 'sim'”

【作者吐槽】辗转反侧解决C#调用matlab调用神经网络工具箱的问题,一致报错,内容详情如下:

.. MWMCR::EvaluateFunction error ... 

未定义与 'struct' 类型的输入参数相对应的函数 'sim'。

Error in => testSim.m at line 8.

... Matlab M-code Stack Trace ...

    at

file C:UsersADMINI~1AppDataLocalTempAdministratormcrCache9.0.1BP_BEF0BP	estSim.m, name testSim, line 8.

  

  首先申明,调用matlab自带的函数都没有问题,比如一些计算平均数、普通的画图函数等试过了没有问题,但是调用工具箱的神经网络函数就一直报错,没找到原因。后来官方解释是这样的:

【笔者提供一些非神经网络工具箱函数的混合编程的过程】

笔者的编程环境: VS2012 、matlab2016a 、64位

1.安装MCRInstall.exe文件,这个文件一般在安装目录:MATLAB7 oolboxcompilerdeploywin64

   如果你的平台是是win32的,那么就在win32里面找;

   MCRInstall.exe安装能够提供编译后的matlab底层的运行组件,方便外界调用。

2.在matlab命令行输入deploytool,编译.net dll

    具体编译步骤可以看

[CSDN.FXM720505的专栏.2016.2018-7-22] https://blog.csdn.net/fxm720505/article/details/51382547

4.最后将生成的dll文件导入到c#中,注意需要将添加MWArray.dll,其路径如下(%matlabpath% oolboxdotnetbuilderinwin32v2.0)   
在c#中输入以下代码 :

using MathWorks.MATLAB.NET.Utility; 

using MathWorks.MATLAB.NET.Arrays;

[CSDN.FXM720505的专栏.2016.2018-7-22] https://blog.csdn.net/fxm720505/article/details/51382547

 

原文地址:https://www.cnblogs.com/Erma/p/9349185.html