厳密に型指定された MATLAB 関数からの C# コードの作成
この例では、厳密に型指定された MATLAB® 関数から C# (.cs) ファイルを作成し、それをサンプル C# アプリケーション コードと統合する方法を説明します。
MATLAB での関数の作成
次のコードを使用して、厳密に型指定された MATLAB 関数を stronglyTypedFactorial.m という名前のファイルに作成します。
function fact = stronglyTypedFactorial(n) arguments n (1,1) uint64 {mustBeReal, mustBeLessThan(n,22)} end fact = 1; for i = 1:n fact = fact*i; end end
MATLAB コマンド プロンプトで関数をテストします。
stronglyTypedFactorial(5)
ans = uint64 120
C# コードの生成
C# (.cs) ファイルを生成します。
matlab.engine.typedinterface.generateCSharp("FactApp",Functions="stronglyTypedFactorial")
0 class(es) and 1 function(s) written to FactApp
この関数は、フォルダー FactApp 内に stronglyTypedFactorial.cs ファイルを作成します。このコードは、MATLABFunctions という名前の C# クラスを定義します。このクラスには、UInt64 型の引数 n を指定して MATLAB stronglyTypedFactorial 関数を呼び出す関数が含まれています。
インターフェイスで、入力が mustBeReal 引数を満たすことが確認されます。実行時に、MATLAB stronglyTypedFactorial 関数は入力が mustBeLessThan(n,22) 引数を満たすことを確認します。詳細については、.NET と厳密に型指定された MATLAB コード間のデータ型マッピングを参照してください。
MATLAB が生成した C# コードと C# アプリケーションの統合
次のコードを使用して、Program.cs という名前の C# アプリケーション ファイルを作成します。
C# アプリケーションをコンパイルしてリンクします。詳細については、.NET エンジン プログラムのビルド要件を参照してください。
ランタイム ライブラリのパスを設定します。
Windows® コマンド プロセッサ:
set PATH=matlabroot\extern\bin\win64;%PATH%
Linux®:
LD_LIBRARY_PATH=matlabroot/extern/bin/glnxa64:LD_LIBRARY_PATH export LD_LIBRARY_PATH
macOS:
DYLD_LIBRARY_PATH=matlabroot/extern/bin/maca64:matlabroot/sys/os/maca64 export DYLD_LIBRARY_PATH
アプリケーションを実行します。
factApp.exe
Factorial of 5 is 120
参考
matlab.engine.typedinterface.generateCSharp | arguments | properties
