Main Content

com.mathworks.matlab.types.HandleObject

MATLAB ハンドル オブジェクトを表す抽象 Java クラス

説明

Java® は、MATLAB® から渡されるハンドル オブジェクトを HandleObject クラスのインスタンスとして表します。ハンドル オブジェクトを MATLAB に戻す場合、Java は HandleObject インスタンスへの参照を渡します。この参照は、MATLAB から Java に渡された元のハンドル オブジェクトに応じて、配列またはスカラーになります。

作成

Java で HandleObject を作成することはできません。ハンドル オブジェクトは、そのハンドル オブジェクトが作成された MATLAB セッションにしか渡せません。

すべて展開する

この例では、共有 MATLAB セッションを開始し、MATLAB ワークスペースで containers.Map オブジェクトを作成します。MATLAB ワークスペースで評価されたステートメントは、Map オブジェクトを参照するハンドル変数を返します。

エンジンの関数 getVariable は、MATLAB ハンドル変数を HandleObject インスタンスとして返します。このインスタンスは MATLAB 関数 keys を呼び出して Map キーを取得するために使用します。

import com.mathworks.engine.MatlabEngine;
import com.mathworks.matlab.types.*;

MatlabEngine engine = MatlabEngine.startMatlab();
engine.eval("cm = containers.Map({'id','name'},{11,'mw'});");
HandleObject handle = engine.getVariable("cm");
String[] cells = engine.feval("keys", handle);

バージョン履歴

R2016b で導入