【作者吐槽】輾轉反側解決C#調用matlab調用神經網絡工具箱的問題,一致報錯,內容詳情如下:
.. MWMCR::EvaluateFunction error ...
未定義與 'struct' 類型的輸入參數相對應的函數 'sim'。
Error in => testSim.m at line 8.
... Matlab M-code Stack Trace ...
at
file C:\Users\ADMINI~1\AppData\Local\Temp\Administrator\mcrCache9.0.1\BP_BEF0\BP\testSim.m, name testSim, line 8.

首先申明,調用matlab自帶的函數都沒有問題,比如一些計算平均數、普通的畫圖函數等試過了沒有問題,但是調用工具箱的神經網絡函數就一直報錯,沒找到原因。后來官方解釋是這樣的:

【筆者提供一些非神經網絡工具箱函數的混合編程的過程】
筆者的編程環境: VS2012 、matlab2016a 、64位
1.安裝MCRInstall.exe文件,這個文件一般在安裝目錄:MATLAB7\toolbox\compiler\deploy\win64
如果你的平台是是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%\toolbox\dotnetbuilder\bin\win32\v2.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

