C# 调用 matlab两种方法实现

C# 调用 matlab两种方法实现

系统环境,win7 32+ VS2010 + MatlabR2012b

 

一、首先,在matlab中编辑函数。函数代码如下:

function [ V ] = cubic(L )  %一个输入参数L,一个输出参数V ,函数名cubic

V=L^3

end

二、在matlab命令行中 执行mbuild –setup命令,选择VS2010 C++编译器。

三、在matlab命令行中,执行deploytool命令调出图形界面来编译对应的组件。这里主要用com组件和.net

四、编译步骤,新建工程名称,添加类,添加M文件的步骤来操作,添加好后build可以生成.dll文件。。

五、C#调用

1、把matlab中生成com组件的dll文件拷贝到当前项目文件目录下,添加引用,然后调用。

private voidbutton1_Click(object sender, EventArgs e)

        {

           cub2.Class1 c1 = new cub2.Class1();

           object v=0;

           c1.cubic(1,ref v, int.Parse(this.textBox1.Text.Trim()));

           MessageBox.Show(v.ToString());

        }

2matlab中生成.netassembly类型的dll拷贝到当前目录下,添加引用,然后调用。这里注意matlab中一个方法被重载为5个,特别是数据类型的转换存在问题。

private void button1_Click(object sender,EventArgs e)

        {

            int v=0;

            MWNumericArray m_output = newMWNumericArray(v);

            MWNumericArray m_input = newMWNumericArray(int.Parse(this.textBox1.Text.Trim()));

            cub3.sgx sgx = new cub3.sgx();

            m_output =(MWNumericArray)sgx.cubic(m_input);

            double[,] result=(double[,])m_output.ToArray();

           MessageBox.Show(result[0,0].ToString());                       

        }


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值