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:\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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM