logo资料库

C#与Matlab2014a混合编程.pdf

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
C#与 Matlab2014a 混合编程           为了实现 C#与 Matlab 混合编程,费了好大劲才实现生成的 DLL 文件能够正常调用,而不出现调用组件报错“初始值设定项引发异常” 的问题。网上有很多资源可供参考,可惜参差不齐,特把解决过程记 录,方便后面想学习的朋友。首先感谢网络上各位友人提供的解决方 法,希望该教程对各位新朋友有帮助。                                                                          By Masterjay at XMU                                                                                      2015‐07‐09  1、调试成功平台  (1)  系统平台          WIN7 64 位    (2)  软件版本  VS2010 C#    &    Matlab 2014a 64 位  (注:matlab 2014b  版本有朋友说没办法生成 DLL 文件,请注意哦!另外,注意各 个版本的位数,这个是有差别的哦!)  2、Matlab 生成 C#可调用的 DLL 过程  (1)配置 Matlab 的编译器        1)在 MATLAB 的命令窗口中输入  mbuild –setup  会弹出:  (这是我之前已经配置好的原因哦!)    未配置时弹出: 
在弹出的选择项中,使用默认的[y](直接回车就是选择默认值),让 Matlab 自动搜索可 用的编译器。如果只安装了 vs2010(如果未安装,请先安装),会弹出可选编译器为:    填 1,回车。  填 y,回车。  到这里,配置都成功了。       
(2)建 MATLAB 的.NET 工程,生成 DLL 文件。  1)在控制命令窗口中输入:deploytool  2)选择 Library Compiler  进入工程界面  配置如下:      (注:Class1 改的名字不能与 Matlab 的函数名字一样,否则无法生成哦)   
打开输出的路径:”Open output folder”就可以看到生成的文件。  其中 Multiply_m.dll 文件即为 C#可调用的文件。  Matlab 的程序如下,记得文件名要与程序名称一致哦。       
    (3)建立 VS2010 的 C#窗体应用程序  得到如下窗体,并添加相应控件       
修改控件属性得到如下结果:  添加 DLL 应用文件:       
    引用文件:  1)生成的:Multiply_m.dll  2)MWArray.dll:Matlab 安装目录下\toolbox\dotnetbuilder\bin\win64\v2.0  添加 C#代码:  双击“计算”按钮,进入代码编写界面 
  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using MathWorks.MATLAB.NET.Arrays; using Multiply_m; namespace Multiply_Test { public partial class Form1 : Form { int A,B; public Form1() { InitializeComponent(); A = 1; B = 2; }
分享到:
收藏