ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

com.mathworks.matlab.types.HandleObject クラス

パッケージ: com.mathworks.matlab.types

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

説明

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

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

すべて折りたたむ

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

エンジンの関数 getVariable は、MATLAB ハンドル変数を HandleObject インスタンスとして返します。このインスタンスは MATLAB 関数 containers.Map.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 で導入