C#調(diào)用MATLAB函數(shù)的實(shí)現(xiàn)步驟
基本功能是:將MATLAB的函數(shù),變?yōu)镃#中類的函數(shù)成員,進(jìn)行相關(guān)調(diào)用和函數(shù)編寫。
注意點(diǎn):MATLAB函數(shù)
第一步:將MATLAB程序轉(zhuǎn)為dll
下載MCR
MCR介紹:
MATLAB Runtime(MCR)是一個(gè)共享庫(kù)、MATLAB代碼和其他文件的集合,可以在沒(méi)有安裝MATLAB版本的系統(tǒng)上執(zhí)行編譯
和打包好的MATLAB應(yīng)用程序。
想要在沒(méi)有MATLAB的情況下運(yùn)行這些應(yīng)用程序的普通用戶必須安裝MATLAB Runtime或指定MATLAB Runtime網(wǎng)絡(luò)安裝的位置。
要?jiǎng)?chuàng)建包含MATLAB Runtime的應(yīng)用程序安裝程序,必須下載與用于創(chuàng)建安裝程序的MATLAB版本和更新級(jí)別相匹配的MATLAB
Runtime安裝程序。要在沒(méi)有安裝程序的情況下分發(fā)打包的MATLAB應(yīng)用程序,最終用戶必須以相同或更新的更新級(jí)別下載與
用于編譯應(yīng)用程序的MATLAB版本相匹配的MATLAB Runtime安裝程序。有關(guān)詳細(xì)信息,請(qǐng)參閱安裝和配置MATLAB運(yùn)行時(shí)。
使用Matlab Runtime的人群主要分為兩種情況:
情況1: 你只是運(yùn)行別人使用Matlab開(kāi)發(fā)的APP
情況2: 你需要用Matlab自己開(kāi)發(fā)、發(fā)布APP
在MATLAB的“命令行窗口”輸入mctinstaller

出現(xiàn)如上,則需要安裝。
電腦能聯(lián)網(wǎng)時(shí)
在MATLAB的命令行窗口輸入compiler.runtime.download
compiler.runtime.download

再次,在MATLAB的命令行窗口輸入mctinstaller

出現(xiàn)地址說(shuō)明下載成功
電腦不能聯(lián)網(wǎng)時(shí)
查詢MATLAB版本
在MATLAB的命令行窗口輸入verison
verison

然后在MATLAB的命令行窗口輸入compiler.runtime.download

發(fā)現(xiàn)不能聯(lián)網(wǎng),負(fù)責(zé)網(wǎng)址,到有網(wǎng)處,下載安裝包。


跟MATLAB版本一致就OK!
如果你是情況一:你只是運(yùn)行別人使用Matlab開(kāi)發(fā)的APP
安裝Matlab Runtime比較簡(jiǎn)單,下載完解壓后如下:雙擊上圖中的“setup.exe”即可

如果你是情況二:你需要用Matlab自己開(kāi)發(fā)、發(fā)布APP
安裝Matlab Runtime方法:(注意安裝包不需要解壓)

安裝Matlab Runtime后,可以在命令行中查看Matlab Runtime的信息:

MATLAB程序打包為dll
命令行輸入deploytool

選擇library complier

選擇指定項(xiàng)、添加自己的.m文件(如果有多個(gè).m文件,在第二步全部添加即可)、修改類名(可改可不改,c#中調(diào)用時(shí)會(huì)用)


會(huì)生成如下的文件結(jié)構(gòu)

生成的dll文件在for_redistribution_files_only里

將dll引入wpf程序
將readUSBData.dll(MATLAB程序生成的dll)文件復(fù)制到C#文件目錄bin\Debug文件夾下
將MWArray.dll文件也復(fù)制到C#文件目錄bin\Debug文件夾下,位置如下

項(xiàng)目中添加引用


添加using引用 :
using MathWorks.MATLAB.NET.Arrays; using MathWorks.MATLAB.NET.Utility;
調(diào)用如下:

修改運(yùn)行的目標(biāo)平臺(tái)為 x64

修改后如下:

運(yùn)行效果如下,和MATLAB中輸出保持一致:

到此這篇關(guān)于C#調(diào)用MATLAB函數(shù)的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)C#調(diào)用MATLAB內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#基于時(shí)間輪調(diào)度實(shí)現(xiàn)延遲任務(wù)詳解
在很多.net開(kāi)發(fā)體系中開(kāi)發(fā)者在面對(duì)調(diào)度作業(yè)需求的時(shí)候一般會(huì)選擇三方開(kāi)源成熟的作業(yè)調(diào)度框架來(lái)滿足業(yè)務(wù)需求,但是有些時(shí)候可能我們只是需要一個(gè)簡(jiǎn)易的延遲任務(wù)。本文主要分享一個(gè)簡(jiǎn)易的基于時(shí)間輪調(diào)度的延遲任務(wù)實(shí)現(xiàn),需要的可以參考一下2022-12-12
跳一跳自動(dòng)跳躍C#代碼實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了跳一跳自動(dòng)跳躍C#代碼實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
C# XML基礎(chǔ)入門小結(jié)(XML文件內(nèi)容增刪改查清)
本文主要介紹了C# XML基礎(chǔ)入門小結(jié)(XML文件內(nèi)容增刪改查清),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類實(shí)例
這篇文章主要介紹了C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類,實(shí)例分析了C#調(diào)用mmpeg操作視頻文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03
C#中將UTC時(shí)間轉(zhuǎn)換為JST時(shí)間的實(shí)現(xiàn)方法
在C#中,將UTC時(shí)間轉(zhuǎn)換為JST(日本標(biāo)準(zhǔn)時(shí)間,即UTC+9)時(shí)間可以通過(guò)使用 DateTime 和 TimeZoneInfo 類來(lái)實(shí)現(xiàn),JST比UTC快9小時(shí),因此可以直接進(jìn)行轉(zhuǎn)換,本文將通過(guò)代碼示例給大家介紹C#中將UTC時(shí)間轉(zhuǎn)換為JST時(shí)間,需要的朋友可以參考下2025-01-01

