Main Content

Execute

MATLAB コマンドをオートメーション サーバーで実行

概要

IDL メソッド シグネチャ

BSTR Execute([in] BSTR command)

Microsoft Visual Basic クライアント

Execute(command As String) As String

MATLAB クライアント

result = Execute(h,'command')

説明

result = Execute(h,'command') は、command で指定されている MATLAB® ステートメントを、h に接続された MATLAB オートメーション サーバーで実行します。引数を指定して関数を呼び出すには、Feval を使用します。

サーバーは、コマンドからの出力と、MATLAB の任意の警告メッセージまたはエラーメッセージを result に返します。MATLAB コマンドをセミコロンで終了して、警告メッセージやエラー メッセージが発行されない場合、result は空になることがあります。

COM 関数は、Microsoft® Windows® システムでのみ使用可能です。

すべて展開する

この例では、MATLAB 行列に対してコマンドを実行し、その結果を Visual Basic® .NET クライアントに返す方法を説明します。この例ではクライアントで行列を作成し、その内容を MATLAB ワークスペースで変更します。

type comexecute.vb
Dim Matlab As Object 
Dim data(6) As Double 
Dim B As Object 
B = Nothing 
Matlab = CreateObject("matlab.application") 
For i = 0 To 6 
    data(i) = i * 15 
Next i 
Matlab.PutWorkspaceData("A", "base", data) 
Matlab.Execute("A = A.*2;") 
Matlab.GetWorkspaceData("A", "base", B) 
MsgBox("Doubled second value of A = " & B(0, 1))

この例では、MATLAB 行列に対してコマンドを実行し、その結果を VBA クライアントに返す方法を説明します。この例ではクライアントで行列を作成し、その内容を MATLAB ワークスペースで変更します。

type comexecute.vba
Dim Matlab As Object 
Dim MATLAB_version As String 
Dim data(6) As Double 
Set Matlab = CreateObject("matlab.application") 
For i = 0 To 6 
    data(i) = i * 15 
Next i 
x = Matlab.PutWorkspaceData("A", "base", data) 
Matlab.Execute ("A = A.*2;") 
y = Matlab.GetWorkspaceData("A", "base", B) 
MsgBox ("Doubled second value of A = " & B(0, 1))

ヒント

  • Execute からの出力をクライアント ウィンドウに表示するには、出力変数 result を指定します。

  • エラーが発生した場合、関数 Execute はテキストの先頭に文字 ??? を追加して MATLAB エラー メッセージを返します。

バージョン履歴

R2006a より前に導入