C#调用MATLAB函数
C#调用MATLAB函数
基本功能是:将MATLAB的函数,变为C#中类的函数成员,进行相关调用和函数编写。
注意点:MATLAB函数
第一步:将MATLAB程序转为dll
下载MCR
MCR介绍:
MATLAB Runtime(MCR)是一个共享库、MATLAB代码和其他文件的集合,可以在没有安装MATLAB版本的系统上执行编译
和打包好的MATLAB应用程序。
想要在没有MATLAB的情况下运行这些应用程序的普通用户必须安装MATLAB Runtime或指定MATLAB Runtime网络安装的位置。
要创建包含MATLAB Runtime的应用程序安装程序,必须下载与用于创建安装程序的MATLAB版本和更新级别相匹配的MATLAB
Runtime安装程序。要在没有安装程序的情况下分发打包的MATLAB应用程序,最终用户必须以相同或更新的更新级别下载与
用于编译应用程序的MATLAB版本相匹配的MATLAB Runtime安装程序。有关详细信息,请参阅安装和配置MATLAB运行时。
使用Matlab Runtime的人群主要分为两种情况:
情况1: 你只是运行别人使用Matlab开发的APP
情况2: 你需要用Matlab自己开发、发布APP
在MATLAB的“命令行窗口”输入mctinstaller
出现如上,则需要安装。
电脑能联网时
在MATLAB的命令行窗口输入compiler.runtime.download
compiler.runtime.download
再次,在MATLAB的命令行窗口输入mctinstaller
出现地址说明下载成功
电脑不能联网时
查询MATLAB版本
在MATLAB的命令行窗口输入verison
verison
然后在MATLAB的命令行窗口输入compiler.runtime.download
发现不能联网,负责网址,到有网处,下载安装包。
跟MATLAB版本一致就OK!
如果你是情况一:你只是运行别人使用Matlab开发的APP
安装Matlab Runtime比较简单,下载完解压后如下:双击上图中的“setup.exe”即可
如果你是情况二:你需要用Matlab自己开发、发布APP
安装Matlab Runtime方法:(注意安装包不需要解压)
安装Matlab Runtime后,可以在命令行中查看Matlab Runtime的信息:
MATLAB程序打包为dll
命令行输入deploytool
选择library complier
选择指定项、添加自己的.m文件(如果有多个.m文件,在第二步全部添加即可)、修改类名(可改可不改,c#中调用时会用)
会生成如下的文件结构
生成的dll文件在for_redistribution_files_only里
将dll引入wpf程序
- 将readUSBData.dll(MATLAB程序生成的dll)文件复制到C#文件目录bin\Debug文件夹下
- 将MWArray.dll文件也复制到C#文件目录bin\Debug文件夹下,位置如下
- 项目中添加引用
添加using引用 :
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
调用如下:
- 修改运行的目标平台为 x64
修改后如下:
运行效果如下,和MATLAB中输出保持一致: