外部インタフェース/API | ![]() ![]() |
本節では、MATLAB Automation Serverがサポートするメソッドについて示します。引数と返り値に対するデータタイプは、ActiveX Automationデータタイプとして表わされ、これはActiveX Automationプロトコルで定義される言語と独立のタイプです。たとえば、BSTR
はAutomationタイプとして定義されたワイドキャラクタ文字列のタイプで、文字列を保存するためにVisual Basicで使うデータ書式と同じです。これらの宣言と操作法の詳細はコントローラ固有ですが、ActiveX準拠コントローラはこれらのデータタイプをサポートします。
BSTR Execute([in] BSTR Command);
このコマンドは、MATLABコマンドウィンドウプロンプトでタイプされるコマンドを含む単一の文字列(Command
)を持ちます。MATLABは、コマンドを実行し、結果を文字列として出力します。コマンドにより生成されたfigureウィンドウは、コマンドがコマンドウィンドウまたはM-ファイルから直接実行されたかのようにスクリーンに表示されます。Visual Basicの例を以下に示します。
Dim MatLab As Object Dim Result As String Set MatLab = CreateObject("Matlab.Application") Result = MatLab.Execute("surf(peaks)")void GetFullMatrix(
[in] BSTR Name,
[in] BSTR Workspace,
[in, out] SAFEARRAY(double)* pr,
[in, out] SAFEARRAY(double)* pi);
このメソッドは、ワークスペースから1次元または2次元の実数または虚数配列mxArray
を読み込みます。実部と(オプションの)虚部は、doubleの別々の配列に読み込まれます。
Workspace.. mxArrayを含むワークスペースを識別します。デフォルトのMATLABワークスペースからmxArray
を読み込むためには、ワークスペース名"base"を使ってください。mxArray
をグローバルのMATLABワークスペースに置くためには、ワークスペース名"grobal"を使ってください。"呼び出し側の"ワークスペースは、MEX-ファイル以外で使われる場合はAPIでは意味を持ちません。
pr.. 読み込まれるmxArray
と同じサイズの実数配列。この配列は、mxArray
の実数値を含みます。
pi.. 読み込まれるmxArray
と同じサイズの実数配列。この配列は、mxArray
の虚数値を含みます。要求されるmxArray
が複素数でなければ、空配列が渡されなければなりません。Visual Basicでは、空配列はDim Mempty() as Double
と宣言されます。Visual Basicの例を以下に示します。
Dim MatLab As Object Dim Result As String Dim MReal(1, 3) As Double Dim MImag() As Double Dim RealValue As Double Dim i, j As Integer rem We assume that the connection to MATLAB exists. Result = MatLab.Execute("a = [1 2 3 4; 5 6 7 8;]") Call MatLab.GetFullMatrix("a", "base", MReal, MImag) For i = 0 To 1 For j = 0 To 3 RealValue = MReal(i, j) Next j Next ivoid PutFullMatrix(
[in] BSTR Name,
[in] BSTR Workspace,
[in] SAFEARRAY(double) pr,
[in] SAFEARRAY(double) pi);
このメソッドは、ワークスペースに1次元または2次元の実数または虚数配列mxArray
を置きます。実部と(オプションの)虚部は、doubleの別々の配列に渡されます。
Workspace.. mxArray
が置かれるワークスペースを識別します。デフォルトのMATLABワークスペースにmxArray
を置くためには、ワークスペース名"base"を使ってください。グローバルのMATLABワークスペースにmxArray
を置くためには、ワークスペース名"global"を使ってください。"呼び出し側の"ワークスペースは、MEX-ファイル以外で使われる場合は、APIでは意味を持ちません。
pi.. mxArray
の虚数値を含む実数配列。送信される mxArray
が複素数でない場合は、このパラメータに対して空配列が渡されなければなりません。Visual Basicでは、空配列はDim Mempty() as Double
と宣言されます。このメソッドのVisual Basicの例を以下に示します。
Dim MatLab As Object Dim MReal(1, 3) As Double Dim MImag() As Double Dim i, j As Integer For i = 0 To 1 For j = 0 To 3 MReal(i, j) = I * j; Next j Next I rem We assume that the connection to MATLAB exists. Call MatLab.PutFullMatrix("a", "base", MReal, MImag)
![]() | MATLAB ActiveX Automation Serverのサポート | ActiveX Serverの情報 | ![]() |