メインコンテンツ

MathWorks.MATLAB.Types.MATLABProvider

MATLAB 関数を呼び出すための .NET 基底クラス

R2023b 以降

説明

.NET アプリケーションで MathWorks.MATLAB.Engine.MATLABEngine クラスまたは MathWorks.MATLAB.Runtime.MATLABRuntime (MATLAB Compiler SDK) クラスのインスタンスを表す動的クラス。MATLABProvider クラスは、MATLAB と .NET の間のデータ変換を可能にします。

matlab.engine.typedinterface.generateCSharp 関数は、明示的または暗黙的に呼び出され、オブジェクト MATLABProvider のシグネチャを生成します。これにより、同じソース コードを使用して .NET アプリケーションまたは展開済み .NET アプリケーションをビルドし、MATLAB 関数を呼び出すことができます。

クラスの詳細

名前空間:

MathWorks.MATLAB.Types

Position コンストラクターに MATLABProvider を渡す

次の MATLAB® Position クラス用の .NET アプリケーション コードを作成します。

classdef Position
    properties
        X (1,1) double {mustBeReal}
        Y (1,1) double {mustBeReal}
    end

    methods
        function P = show(P)
            arguments
                P (1,1) Position
            end

            fprintf('Position: (%d, %d)\n', P.X, P.Y);
        end
    end
end

関数用の C# ラッパー ファイルを生成します。

matlab.engine.typedinterface.generateCSharp("PositionApp",Classes="Position")

 Position.cs

コンストラクターへの入力は MATLABProvider オブジェクトです。

public  Position(MATLABProvider _matlab)

.NET アプリケーションで Position オブジェクトを作成します。

MATLABEngine matlab = MATLABEngine.StartMATLAB();
Position p1 = new Position(matlab, 1, 1);

展開済み .NET アプリケーションで Position オブジェクトを作成します。

MATLABRuntime runtime = MATLABRuntime.StartMATLAB();
Position p2 = new Position(runtime, 1, 2);

MATLAB クラスからのアプリケーションのビルドの詳細については、厳密に型指定された MATLAB 関数からの C# コードの作成を参照してください。

バージョン履歴

R2023b で導入