外部インタフェース/API    

オブジェクトをMATLABデータタイプに変換

クラスStringおよびクラスObjectのオブジェクトの例外においては、MATLABは、ネイティブなMATLABデータタイプのメソッド呼び出しから出力されたJavaオブジェクトを変換しません。JavaオブジェクトデータをMATLABで簡単で使いやすい形式に変換したい場合は、そのために利用可能なMATLAB関数が存在します。これらは、つぎの節で説明します。

MATLAB doubleデータタイプへの変換

MATLABでdoubleコマンドを使って、任意のJavaオブジェクトあるいはオブジェクトの配列をMATLABのdoubleデータタイプに変換することができます。doubleコマンドにより行われるアクションは、指定したオブジェクトのクラスにより異なります。

doubleコマンドの構文は、以下に示す通りです。ここで、objectはJavaオブジェクトまたはJavaオブジェクトの配列です。

MATLAB charデータタイプへの変換

MATLABのcharコマンドを使って、java.lang.Stringオブジェクトと配列をMATLABデータタイプに変換することができます。単一のjava.lang.Stringオブジェクトは、MATLABキャラクタ配列に変換されます。java.lang.Stringオブジェクトの配列は、各セルがキャラクタ配列であるMATLABセル配列に変換されます。

charコマンドで指定されたオブジェクトが、java.lang.Stringクラスでない場合は、MATLABは、toCharというメソッドを実現するかどうかについてそのクラスをチェックします。実現する場合は、MATLABはクラスtoCharのメソッドを実行して変換を行います。ユーザ独自の定義を作成する場合は、ユーザの必要に応じて変換を実行するtoCharメソッドを作成することにより、この機能を利用することができます。

charコマンドの構文は、以下に示す通りです。ここで、objectはJavaオブジェクトあるいはJavaオブジェクトの配列です。

MATLAB構造体への変換

Javaオブジェクトは、オブジェクトの特性の多くがオブジェクト内で定義されたフィールド名によってアクセス可能である点がMATLAB構造体と同じです。MATLABでのデータの扱いを容易にするため、JavaオブジェクトをMATLAB構造体に変換したい場合があります。そのためには、オブジェクトに対してMATLABのstructコマンドを使ってください。

structコマンドの構文は、以下に示す通りです。ここで、objectはJavaオブジェクトあるいはJavaオブジェクトの配列です。

つぎの例は、java.awt.PolygonオブジェクトをMATLAB構造体に変換します。MATLABの構造体の演算を使ってオブジェクトのフィールドに直接アクセスできます。最終行は、三番目の配列要素に新しい値を置くために、配列pstruct.xpointsにインデックスを付けます。

MATLABセル配列への変換

cellコマンドを使ってJava配列あるいはJavaオブジェクトをMATLABセル配列に変換します。結果のセル配列の要素は、Java配列要素またはJavaオブジェクトに最も近いMATLABタイプ(存在すれば)になります。

cell コマンドの構文は、以下の通りです。ここで、objectはJavaオブジェクトまたはオブジェクトのJava配列です。

下記の例で、MATLABセル配列は、各セルが異なるデータタイプの配列を保持して作成されます。1行目で使われるcellコマンドは、各タイプのオブジェクト配列をセル配列に変換します。


 Javaオブジェクト プログラミングの例題