我已经为语音验证开发了一些matlab函数。
现在我想使用一个应用程序为这些函数提供输入并在matlab函数中执行这些值,并将结果再次提供给应用程序。
有什么特别的方法吗?
答案 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