matlab ファイル (コード) を呼び出して実行できるビジュアル スタジオからのインターフェイスを持つことは可能ですか。
基本的に、VS の GUI と matlab のコードを含む .exe ファイルが必要です。ありがとう
matlab ファイル (コード) を呼び出して実行できるビジュアル スタジオからのインターフェイスを持つことは可能ですか。
基本的に、VS の GUI と matlab のコードを含む .exe ファイルが必要です。ありがとう
あなたの質問が何であるか正確にはわかりませんが、答えは「いいえ」であると確信しています。
Visual Studio 言語 (C#、VB.NET など) のいずれかを使用してユーザー インターフェイスを構築し、そのインターフェイスで matlab スクリプトを呼び出す場合、私が認識している 2 つのオプションがあります。
1) Mathworks から matlab .NET インターフェイスを購入します。多額の費用がかかり、私は持っていないので、これがどのように機能するのか正確にはわかりません。
2) matlab コンパイラ (これにも多額の費用がかかります) を購入し、matlab コードを実行可能ファイルに「コンパイル」します。次に、コマンド ラインを使用して、選択した .NET 言語からその実行可能ファイルを呼び出します。このアプローチの問題点は、matlab スクリプトにデータを渡す唯一の方法が、コマンド ラインからスクリプトを呼び出すことであるということです。通常の回避策は、コマンド ラインからの呼び出しで txt ファイルまたは csv ファイルの場所を渡し、matlab スクリプトの最初の部分をこの txt ファイルまたは csv ファイルからのデータの取得専用にすることです。このアプローチのもう 1 つの問題は、多数の matlab スクリプトを呼び出したい場合、「コンパイルされた」matlab スクリプトを呼び出すたびにバックグラウンドで、実際には、matlab コンパイラ ランタイムと呼ばれるビーストを通じて、すべての matlab ランタイム ライブラリの新しいインスタンスを作成しています。これが、「コンパイル済み」と言う理由です。これは、実行時にまだ解釈されるため、実際にはコンパイルされていないためです。
編集
VB.NET を使用して matlab スクリプトを呼び出すには、次の方法を試してください。
'#Get the matlab executable info
Dim MatlabStartInfo As New ProcessStartInfo
MatlabStartInfo.FileName = "cmd.exe"
MatlabStartInfo.WindowStyle = ProcessWindowStyle.Maximized
MatlabStartInfo.Arguments = "/C " & Chr(34) & Chr(34) _
& "C:\Path\To\Matlab\Script\Matlab_Script.exe " & Chr(34) & " " & Chr(34) _
& MatlabScriptInputArgument & Chr(34) & Chr(34)
'#Run the matlab executable
Using MatlabProcess As Process = New Process
MatlabProcess.StartInfo = MatlabStartInfo
MatlabProcess.Start()
MatlabProcess.WaitForExit()
End Using
ここで、MatlabScriptInputArgument は、matlab 関数への引数を含む文字列です (上記のコードは 1 つの入力のみを想定しています)。
Visual Studio ではありませんが、Visual Studio Code MatLab拡張機能があります。