Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

C# クライアントからの MATLAB 関数の呼び出し

この例では、MATLAB® を COM オートメーション サーバーとして使用して、ユーザー定義の MATLAB 関数 myfunc を C# アプリケーションから呼び出す方法を説明します。COM の詳細については、MATLAB と連携して動作する COM アプリケーションの記述を参照してください。

この例では、特定の MATLAB バージョンへの事前バインドを使用します。

メモ

この例を使用するには、Microsoft® Visual Studio® などの開発環境で COM コンソール アプリケーションを作成して実行する方法を理解していなければなりません。

MATLAB 関数 myfunc をフォルダー c:\temp\example に作成します。

function [x,y] = myfunc(a,b,c) 
x = a + b; 
y = sprintf('Hello %s',c); 

開発環境で C# コンソール アプリケーションを作成します。C# の MATLAB タイプ ライブラリのリファレンス:

MLApp.MLApp matlab = new MLApp.MLApp();

以下に詳しい例を示します。

using System; 
using System.Collections.Generic; 
using System.Text; 

namespace ConsoleApplication2 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            // Create the MATLAB instance 
            MLApp.MLApp matlab = new MLApp.MLApp(); 

            // Change to the directory where the function is located 
            matlab.Execute(@"cd c:\temp\example"); 

            // Define the output 
            object result = null; 

            // Call the MATLAB function myfunc
            matlab.Feval("myfunc", 2, out result, 3.14, 42.0, "world"); 
             
            // Display result 
            object[] res = result as object[]; 
             
            Console.WriteLine(res[0]); 
            Console.WriteLine(res[1]); 
            // Get user input to terminate program
            Console.ReadLine();
        } 
    } 
}

C# クライアント プログラムから、MATLAB COM オブジェクトにプロジェクトへの参照を追加します。この参照は、プログラムを特定バージョンの MATLAB にバインドします。詳細については、ベンダーのドキュメンテーションを参照してください。たとえば、Microsoft Visual Studio でプロジェクトを開きます。[Project] メニューから、[Add Reference] を選択します。[Add Reference] ダイアログ ボックスから [COM] を選択します。MATLAB アプリケーションを選択します。

開発環境でアプリケーションをビルドして実行します。

参考

|

関連するトピック