音声認証用のいくつかの matlab 関数を開発しました。
そして今、アプリケーションを使用してこれらの関数に入力を提供し、それらの値を matlab 関数で実行して、結果を再びアプリケーションに取得したいと考えています。
これを行う特定の方法はありますか?
Mathworks には、まさにこれを行うためのMATLAB Builder NEという製品があります。
.NET または COM 用の DLL をビルドし、MATLAB コードをラップします。その後、MATLAB ランタイム ( free ) がインストールされている任意のマシンでコードを実行できます。
私が見たところ、これはコード内のすべての関数に対して適切なオーバーロードを含む DLL を作成するだけで、.NET 型から MATLAB 配列への変換に役立ちます。最終的には、ネイティブの MATLAB コードを呼び出して MATLAB ランタイムで実行しているため、自己実装することもできます (ただし、かなりの労力が必要になる可能性があります)。
次のリンクは、問題の解決に役立ちます。最初のものはCOMオブジェクトを使用してac#プログラムでmatlabプログラムを使用し、2番目のリンクはプログラムで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
この抜粋は、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());
}
}
}