WPF(C#)与MATLAB混合编程

WPF(C#)与MATLAB混合编程

       WPF可以为开发者提供便捷地构建用户交互界面的解决方法,而matlab则在科学计算方面有着无与伦比的优势,因此在一些需要将科学算法转换为应用软件的项目中,需要应用到WPF或者说C#和matlab的混合编程。相比于MFC和MATLAB的混合变成,C#与其的混编所需要做的准备工作更为简单。

1、编辑需要被WPF程序调用的matlab函数文件,例如:test.m;

2、编译test.m文件;

    (1)打开matlab的部署工具(我所用到的MATLAB版本为R2014a,系统为Windows7 32位)

      将test.m文件所在的目录设置为当前工作目录,在matlab命令行中输入:“deploytool”,在出现的三个选项中选择Library Compiler选项;

    (2)进行部署的设置

     如下图所示,在编号1处选择所输出的库类型,由于是针对C#进行部署,因此选择.NET Assembly选项。在编号2处,点击右侧的加号按钮添加需要被编译的MATLAB函数,例如本例中的test.m函数,可以在其中添加多个MATLAB函数文件。编号3处是输入所生成的库的名称。编号4处,可以设定所生成的类的名称,可以将之前所添加的MATLAB函数添加进去,作为类中的一个函数,这一步可以认为是新建一个类,在其中建立我们想要调用的MATLAB函数的C#实现。在前四步设定好之后就可以点击编号5处的打包按钮。打包所需的时间比较长,耐性等待程序打包完成。

3、将生成的DLL库应用到wpf项目中,并且在项目中进行相关设置

      这一步这篇博客上面写得很清楚,可以参考其中的内容完成最后一步。

PS:笔者最近测试C#与Matlab混合编程的可移植性,分别测试了64位WIN7、win10X64、32位win7和64位win10,发现使用32位matlab内的MWArray.dll,无法应用到64位的系统上,因此需要针对不同的系统对项目进行编译。

 

原文地址:https://www.cnblogs.com/AlgrithmsRookie/p/7105396.html