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)是一個共享庫、MATLAB代碼和其他文件的集合,可以在沒有安裝MATLAB版本的系統(tǒng)上執(zhí)行編譯
和打包好的MATLAB應(yīng)用程序。
想要在沒有MATLAB的情況下運(yùn)行這些應(yīng)用程序的普通用戶必須安裝MATLAB Runtime或指定MATLAB Runtime網(wǎng)絡(luò)安裝的位置。
要創(chuàng)建包含MATLAB Runtime的應(yīng)用程序安裝程序,必須下載與用于創(chuàng)建安裝程序的MATLAB版本和更新級別相匹配的MATLAB
Runtime安裝程序。要在沒有安裝程序的情況下分發(fā)打包的MATLAB應(yīng)用程序,最終用戶必須以相同或更新的更新級別下載與
用于編譯應(yīng)用程序的MATLAB版本相匹配的MATLAB Runtime安裝程序。有關(guān)詳細(xì)信息,請參閱安裝和配置MATLAB運(yùn)行時(shí)。
使用Matlab Runtime的人群主要分為兩種情況:
情況1: 你只是運(yùn)行別人使用Matlab開發(fā)的APP
情況2: 你需要用Matlab自己開發(fā)、發(fā)布APP
在MATLAB的“命令行窗口”輸入mctinstaller
出現(xiàn)如上,則需要安裝。
電腦能聯(lián)網(wǎng)時(shí)
在MATLAB的命令行窗口輸入compiler.runtime.download
compiler.runtime.download
再次,在MATLAB的命令行窗口輸入mctinstaller
出現(xiàn)地址說明下載成功
電腦不能聯(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開發(fā)的APP
安裝Matlab Runtime比較簡單,下載完解壓后如下:雙擊上圖中的“setup.exe”即可
如果你是情況二:你需要用Matlab自己開發(fā)、發(fā)布APP
安裝Matlab Runtime方法:(注意安裝包不需要解壓)
安裝Matlab Runtime后,可以在命令行中查看Matlab Runtime的信息:
MATLAB程序打包為dll
命令行輸入deploytool
選擇library complier
選擇指定項(xiàng)、添加自己的.m文件(如果有多個.m文件,在第二步全部添加即可)、修改類名(可改可不改,c#中調(diào)用時(shí)會用)
會生成如下的文件結(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)平臺為 x64
修改后如下:
運(yùn)行效果如下,和MATLAB中輸出保持一致:
到此這篇關(guān)于C#調(diào)用MATLAB函數(shù)的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)C#調(diào)用MATLAB內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#基于時(shí)間輪調(diào)度實(shí)現(xiàn)延遲任務(wù)詳解
在很多.net開發(fā)體系中開發(fā)者在面對調(diào)度作業(yè)需求的時(shí)候一般會選擇三方開源成熟的作業(yè)調(diào)度框架來滿足業(yè)務(wù)需求,但是有些時(shí)候可能我們只是需要一個簡易的延遲任務(wù)。本文主要分享一個簡易的基于時(shí)間輪調(diào)度的延遲任務(wù)實(shí)現(xiàn),需要的可以參考一下2022-12-12C# XML基礎(chǔ)入門小結(jié)(XML文件內(nèi)容增刪改查清)
本文主要介紹了C# XML基礎(chǔ)入門小結(jié)(XML文件內(nèi)容增刪改查清),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04C#調(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-03C#中將UTC時(shí)間轉(zhuǎn)換為JST時(shí)間的實(shí)現(xiàn)方法
在C#中,將UTC時(shí)間轉(zhuǎn)換為JST(日本標(biāo)準(zhǔn)時(shí)間,即UTC+9)時(shí)間可以通過使用 DateTime 和 TimeZoneInfo 類來實(shí)現(xiàn),JST比UTC快9小時(shí),因此可以直接進(jìn)行轉(zhuǎn)換,本文將通過代碼示例給大家介紹C#中將UTC時(shí)間轉(zhuǎn)換為JST時(shí)間,需要的朋友可以參考下2025-01-01