WPF(C#)与MATLAB混合编程
WPF(C#)與MATLAB混合編程
? ? ? ?WPF可以為開發(fā)者提供便捷地構建用戶交互界面的解決方法,而matlab則在科學計算方面有著無與倫比的優(yōu)勢,因此在一些需要將科學算法轉換為應用軟件的項目中,需要應用到WPF或者說C#和matlab的混合編程。相比于MFC和MATLAB的混合變成,C#與其的混編所需要做的準備工作更為簡單。
1、編輯需要被WPF程序調用的matlab函數(shù)文件,例如:test.m;
2、編譯test.m文件;
? ? (1)打開matlab的部署工具(我所用到的MATLAB版本為R2014a,系統(tǒng)為Windows7 32位)
? ? ? 將test.m文件所在的目錄設置為當前工作目錄,在matlab命令行中輸入:“deploytool”,在出現(xiàn)的三個選項中選擇Library Compiler選項;
?
? ? (2)進行部署的設置
? ? ?如下圖所示,在編號1處選擇所輸出的庫類型,由于是針對C#進行部署,因此選擇.NET Assembly選項。在編號2處,點擊右側的加號按鈕添加需要被編譯的MATLAB函數(shù),例如本例中的test.m函數(shù),可以在其中添加多個MATLAB函數(shù)文件。編號3處是輸入所生成的庫的名稱。編號4處,可以設定所生成的類的名稱,可以將之前所添加的MATLAB函數(shù)添加進去,作為類中的一個函數(shù),這一步可以認為是新建一個類,在其中建立我們想要調用的MATLAB函數(shù)的C#實現(xiàn)。在前四步設定好之后就可以點擊編號5處的打包按鈕。打包所需的時間比較長,耐性等待程序打包完成。
3、將生成的DLL庫應用到wpf項目中,并且在項目中進行相關設置
? ? ? 這一步這篇博客上面寫得很清楚,可以參考其中的內容完成最后一步。
PS:筆者最近測試C#與Matlab混合編程的可移植性,分別測試了64位WIN7、win10X64、32位win7和64位win10,發(fā)現(xiàn)使用32位matlab內的MWArray.dll,無法應用到64位的系統(tǒng)上,因此需要針對不同的系統(tǒng)對項目進行編譯。
?
?
轉載于:https://www.cnblogs.com/AlgrithmsRookie/p/7105396.html
總結
以上是生活随笔為你收集整理的WPF(C#)与MATLAB混合编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理解__repr__
- 下一篇: Mysql中字段类型之时间戳大坑