4

我已经开发了一些用于语音认证的 matlab 函数。

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

有什么特别的方法可以做到这一点吗?

4

3 回答 3

3

Mathworks 有一个名为MATLAB Builder NE的产品可以做到这一点。

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

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

于 2012-07-21T12:57:07.660 回答
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());
    }

}

}

于 2012-07-21T14:46:12.840 回答
0

以下链接可以帮助您解决问题。第一个在使用 COM 对象的 ac# 程序中使用了 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

于 2013-08-30T14:25:54.300 回答