本文主要介绍c#程序调用matlab的步骤。其主要方法是先通过matlab将写好的function编译成dll,然后再供c#调用。具体步骤介绍如下:
1)配置环境
Matlab Runtime(MCR)一定要和c#项目一致。
C#项目是x64还是x86,还是AnyCPU,要确定。
Matlab Runtime的配置在系统的环境变量中查找。步骤:我的电脑右键属性->高级系统设置->环境变量->Path, 看runtime是win64还是win32。
2)将编写好的matlab function编译成dll
以function highpassfilter为例说明
首先在matlab命令行中输入deploytool,选择Library compiler,进入COMPILER界面,在TYPE类型里选择 .NET Assembly,在EXPORTED FUNCTIONS里,点击“+”,选择要编译的function函数。后面其他的配置不需要更改,若想对生成的dll文件里的类名进行修改,可以将默认的Class1修改。在这里,我修改成MatHpf。然后点击右上角的Package,保存并等待。编译成功后会出现一个函数名的文件夹,文件夹里有三个文件,其中for_testing里有生成的dll,可供c#调用。
3)C#调用dll
首先创建项目。在reference里添加两个依赖项。1)是刚才生成的highpassfilter.dll,2)是MWArray.dll文件,该文件在matlab安装目录下,我的是