将Matlab代码集成到C#应用程序中

时间:2012-07-21 12:18:32

标签: c# matlab

我已经为语音验证开发了一些matlab函数。

现在我想使用一个应用程序为这些函数提供输入并在matlab函数中执行这些值,并将结果再次提供给应用程序。

有什么特别的方法吗?

3 个答案:

答案 0 :(得分:3)

Mathworks有一个名为MATLAB Builder NE的产品就是为了做到这一点。

它将为.NET或COM构建一个DLL,包装MATLAB代码。然后,您可以在任何安装了MATLAB运行时(free)的计算机上执行代码。

从我所看到的,这实际上只是为代码中的每个函数创建了一个具有适当重载的DLL,并帮助您将.NET类型转换为MATLAB数组。最后,它仍然调用本机MATLAB代码并在MATLAB运行时运行它,因此它也可以自我实现(尽管可能需要一些重要的努力)。

答案 1 :(得分:0)

此摘录摘自我的博客文章,其中演示了从MATLAB CODE http://scriptbucket.wordpress.com/category/matlab/编译.NET dll所需的过程,这应该对您有所帮助。

using System;
using System.Windows.Forms;
using MathWorks.MATLAB.NET.Arrays;
using calculator;

namespace DemoCalculator
{

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        var calc= new demo();            
        MessageBox.Show(calc.calculator((MWCharArray)textBox1.Text)[1].ToString());
    }

}

}

答案 2 :(得分:0)

以下链接可以帮助您解决问题。第一个在使用COM对象的c#程序中使用了matlab程序,第二个链接描述了在程序中与matlab通信的3种方法。

http://www.codeproject.com/Articles/594636/Using-Matlab-from-a-Csharp-application

http://www.codeproject.com/Articles/5468/1-2-3-ways-of-integrating-MATLAB-with-the-NET