C#编程中调用 Matlab生成的动态链接库
一 背景
Matlab中有大量的处理数据的东西,VS编程中是没有的;为了将matlab优秀的东西用在C#编程中,特地研究一下两个平台的交互。
二 环境安装
MatlabR2012b,MCRVersion8.0(此软件和Matlab版本要对应),VS2015 说明:应用电脑与编程电脑都需安装MCR环境
三 应用示例步骤
1. 编写.m文件,写一个drawtest(画一条曲线程序)用于VS调用。a参数:存储数据的txt文档路径
2. 命令窗(Command Window)里输入命令‘deploytool’,在如下弹窗选中 ‘.NET Assembly’
3. 在出现的右侧框中,添加类名和m文件,点击右上角编译图标,如图。
4. 编译完成后,可看到CurrentFolder栏会有如下文件,demo.dll文件可用于VS调用
5. 使用MWarray.dll文件,路径:
C:\ProgramFiles\MATLAB\MATLABCompilerRuntime\v80\toolbox\dotnetbuilder\bin\win64\v2.0
6. 在VS中引用MWArray.dll文件和生成的demo.dll,添加命名空间
C#控制台程序如下,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using demo;
namespace ConsoleApplication1
{
classProgram
{
staticvoid Main(string[] args)
{
string a= @"D:\data.txt";
Demo demo = newDemo();
demo.drawtest(a);
Console.ReadKey();
}
}
}
控制台程序编写完后,编译成功的效果图,如图。