C#编程中调用 Matlab生成的动态链接库

一  背景

    Matlab中有大量的处理数据的东西,VS编程中是没有的;为了将matlab优秀的东西用在C#编程中,特地研究一下两个平台的交互。

二  环境安装

   MatlabR2012b,MCRVersion8.0(此软件和Matlab版本要对应),VS2015                                                                            说明:应用电脑与编程电脑都需安装MCR环境

三  应用示例步骤

   1.   编写.m文件,写一个drawtest(画一条曲线程序)用于VS调用。a参数:存储数据的txt文档路径

                                           C#编程中调用 Matlab生成的动态链接库

   

    2.   命令窗(Command Window)里输入命令‘deploytool’,在如下弹窗选中 ‘.NET Assembly’

                              C#编程中调用 Matlab生成的动态链接库

      3.   在出现的右侧框中,添加类名和m文件,点击右上角编译图标,如图。

                                             C#编程中调用 Matlab生成的动态链接库

        4.    编译完成后,可看到CurrentFolder栏会有如下文件,demo.dll文件可用于VS调用

                                                     C#编程中调用 Matlab生成的动态链接库

     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();

           

        }

}

}

控制台程序编写完后,编译成功的效果图,如图。

                                     C#编程中调用 Matlab生成的动态链接库