WPF(C#)與MATLAB混合編程


WPF(C#)與MATLAB混合編程

       WPF可以為開發者提供便捷地構建用戶交互界面的解決方法,而matlab則在科學計算方面有着無與倫比的優勢,因此在一些需要將科學算法轉換為應用軟件的項目中,需要應用到WPF或者說C#和matlab的混合編程。相比於MFC和MATLAB的混合變成,C#與其的混編所需要做的准備工作更為簡單。

1、編輯需要被WPF程序調用的matlab函數文件,例如:test.m;

2、編譯test.m文件;

    (1)打開matlab的部署工具(我所用到的MATLAB版本為R2014a,系統為Windows7 32位)

      將test.m文件所在的目錄設置為當前工作目錄,在matlab命令行中輸入:“deploytool”,在出現的三個選項中選擇Library Compiler選項;

 

    (2)進行部署的設置

     如下圖所示,在編號1處選擇所輸出的庫類型,由於是針對C#進行部署,因此選擇.NET Assembly選項。在編號2處,點擊右側的加號按鈕添加需要被編譯的MATLAB函數,例如本例中的test.m函數,可以在其中添加多個MATLAB函數文件。編號3處是輸入所生成的庫的名稱。編號4處,可以設定所生成的類的名稱,可以將之前所添加的MATLAB函數添加進去,作為類中的一個函數,這一步可以認為是新建一個類,在其中建立我們想要調用的MATLAB函數的C#實現。在前四步設定好之后就可以點擊編號5處的打包按鈕。打包所需的時間比較長,耐性等待程序打包完成。

3、將生成的DLL庫應用到wpf項目中,並且在項目中進行相關設置

      這一步這篇博客上面寫得很清楚,可以參考其中的內容完成最后一步。

PS:筆者最近測試C#與Matlab混合編程的可移植性,分別測試了64位WIN7、win10X64、32位win7和64位win10,發現使用32位matlab內的MWArray.dll,無法應用到64位的系統上,因此需要針對不同的系統對項目進行編譯。

 

 


免責聲明!

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



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