`
lunan
  • 浏览: 78449 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

VS2008 C# 调用MATLAB 2009b 生成的DLL

 
阅读更多

http://www.cnblogs.com/horizon_king/archive/2011/01/21/1941220.html

 

开发环境为:VS2005+Matlab 2009a

1、创建一个简单的.m文件

打开Matlab 2009a,新建一个.m文件,输入如下代码:

function result=twice(inputvar);
result=2*inputvar;

将代码保存为twice.m文件,如图所示。

image

2、使用Matlab DeployTool生成.Net组件

在Matlab 2009a的Command Window中输入deploytool并回车,如图所示。

image

就可以打开Matlab的DeployTool,如图所示。

image

在DeployTool窗体中,点击新建按钮,打开新建项目对话框,如图所示。

image

在左边的列表中选择MATLAB Builder NE,并在右边的列表中选择.NET Component,我们将这个工程命名为twice.prj,并点击OK,则进入项目设置界面,如图所示。

image

在Twice文件夹中添加我们刚才建好的.m文件,如图所示。

image

点击编译按钮或使用快捷键Ctrl+B则对该工程进行编译。编译完成后的主窗口如图所示。

image

3、创建一个测试用的Windows应用程序,将其命名为MatlabTest,如图所示。

image

4、添加对MWArray.dll的引用

MWArray.dll一般位于[Matlab安装位置]\R2009a\toolbox\dotnetbuilder\bin\win32\v2.0文件夹中,我们注意到Matlab 2009a对应的MWArray.dll是2.9.0.0版本的。在进行Matlab版本升级的时候,比较头疼的就是这个dll。

image

因为版本升级意味着之前生成的dll都需要重新生成。关于版本升级的问题,我将在后面的博文中详细介绍。

之所以添加MWArray.dll,是因为在这种混合编程方式下,我们经常要

using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;

5、添加对Matlab生成的twice.dll的引用。

6、添加窗体中相应的组件。

添加一个Label控件,并修改其Text属性为“计算结果”;

添加一个Label控件,用于显示计算结果;

添加一个Button控件,用于执行计算方法。

设计好后的Form1窗体如图所示。

image

7、编写相应的后台代码。

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MathWorks.MATLAB.NET.Arrays;
using twice;
 
namespace MatlabTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int i = 5;
            Twice c = new Twice();
            MWArray result = c.twice((MWArray)i);
            this.label2.Text = result.ToString();
        }
    }
}

8、执行并查看结果

image

在代码中输入了一个变量i并为其赋值5,可以看到经过调用Matlab计算,顺利返回计算结果10。

分享到:
评论
1 楼 lunan 2011-11-27  
参考
http://www.cnblogs.com/horizon_king/archive/2011/01/21/1941011.html
http://379910987.blog.163.com/blog/static/3352379720116151449673/

相关推荐

    VS2008 C++ 调用MATLAB 2009b 生成的DLL

    标题中的“VS2008 C++ 调用MATLAB 2009b 生成的DLL”指的是使用Visual Studio 2008的C++环境调用MATLAB 2009b版本编译生成的动态链接库(DLL)进行程序开发。这种技术允许在C++代码中直接调用MATLAB编写的函数,利用...

    vs2008_matalb2009b_DLL.rar_dll

    在IT领域,开发人员经常需要在不同的编程环境中交互操作,比如在Visual Studio 2008(VS2008)中调用MATLAB 2009b生成的动态链接库(DLL)。这个过程涉及到跨语言编程和接口设计,是一项技术含量较高的任务。以下是...

    matlab生成DLL并用VC++调用

    通过上述步骤,我们已经成功地使用MATLAB 2009b生成了一个DLL文件,并在VC++ 2008环境中调用了该DLL。这种方法不仅能够提高代码的可移植性和复用性,还能够充分利用MATLAB的强大计算能力。对于需要跨语言开发的应用...

    matlab R2009b 2012b 破解文件

    把09b和12b的破解文件都放一块了,matlab R2009b 2012b 破解文件

    C#调用Matlab COM示例

    本文将详细介绍如何在C#中通过COM接口调用Matlab R2009b,以及解决可能出现的问题。 首先,了解COM(Component Object Model)是什么至关重要。COM是一种微软定义的技术,允许不同进程间的对象交互,使得不同的编程...

    Matlab R2009b 下载地址+安装全过程

    为word文档 里面包含了下载地址 及安装全过程 下载并安装成功的记得留言啊 谢谢大家支持!!!!!!!!!

    MATLAB 2009b 从入门到精通 最新英文版教程

    ### MATLAB 2009b 从入门到精通——最新英文版教程 #### 知识点一:MATLAB概述 - **定义与功能**:MATLAB(Matrix Laboratory)是一款由MathWorks公司开发的用于数值计算的高级编程语言环境及其开发的相应软件。它...

    matlab 2009b crack

    matlab 2009b crack 請參照read me 文件

    mexcdf.r2859.zip_matlab 2009b_matlab isvar_matlab r2009 mexcdf_m

    标题中的“mexcdf.r2859.zip_matlab 2009b_matlab isvar_matlab r2009 mexcdf_m”暗示了这是一个关于Matlab的扩展功能包,特别关注的是处理mexcdf格式的数据。mexcdf是一种用于存储数组数据的二进制文件格式,它在...

    Matlab R2009b 不过期激活文件

    verycd上TBE的matlab R2009b激活文件只能使用到2017年。提供的激活文件可以使用到2037年(2037后需要系统支持)。

    Matlab矩阵实验室r2009b下载

    ### Matlab矩阵实验室r2009b下载及使用详解 #### 一、Matlab R2009b简介 Matlab(Matrix Laboratory)是由MathWorks公司开发的一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境...

    基于simulink的飞轮储能发电系统建模与仿真【包含程序操作录像】

    基于simulink的飞轮储能发电系统仿真,matlab2009b~matlab2013b范围版本测试

    解决MATLAB2009b和2010a不能在联网时打开的bug

    然而,MATLAB的某些版本可能存在一些已知问题,例如标题中提到的MATLAB r2009b和MATLAB r2010a在联网环境下无法正常启动图形用户界面(GUI)的问题。这个问题对用户的日常使用造成了困扰,特别是在需要网络连接的...

    matlab r2009b licesen

    matlab r2009b licesen,这个事standalone的lic文件,在安装的时候注意选择

    VC中调用Matlab的学习

    - DLL文件路径:例如`D:\Program Files\MATLAB\R2009b\bin\win32` ##### 2.2 创建MATLAB函数 1. **编写MATLAB函数**:创建一个简单的MATLAB函数,例如`plot_test.m`,其功能是接收一个数据集并绘制出相应的图形。...

    MatlabR2009b与VC混合编程

    在这一过程中,MatlabR2009b与Microsoft Visual C++ 2008的集成尤为关键。首先,需要配置Mbuild环境,通过`mbuild –setup`命令来指定编译器。在本例中,选择了Microsoft Visual C++ 2008 SP1作为编译器,并确认了其...

    Matlab_R2009b_-TBE.5087882.TPB下载种子

    6. **与外部系统集成**:Matlab R2009b强化了与其他编程语言(如C、C++、Java)的接口,方便数据交换和代码调用,同时也支持与数据库和Web服务的连接。 7. **并行计算**:此版本加强了并行计算支持,利用多核处理器...

    LSSVM matlab R2009b_R2011a工具箱

    在解决非线性分类,函数估计和密度估计问题中,支持向量机是一个很强大的方法,支持向量机也致使了其核心的新动向,最新发展事基于一般学习方法的。支持向量机应经被引入统计学习理论和结构风险最小化之中。...

Global site tag (gtag.js) - Google Analytics