外部インタフェース/API    

MATLAB内でのオブジェクトの配列の作成

Javaオブジェクトの配列として定義された1つまたは複数の引数をもつJavaメソッドを呼び出すには、ほとんどの場合、Java配列内のオブジェクトを渡す必要があります。Javaメソッドあるいはコンストラクタの呼び出しにおいてオブジェクトの配列を作成できます。あるいは、MATLAB内部で配列を作成できます。

MATLABのjavaArray関数を使って、MATLABで単一の多次元配列として扱われるJava配列構造体を作成します。配列の次元数とサイズと共に、それらを格納するオブジェクトのクラスを指定します。1次元のJava配列を基本の作成ブロックとして利用して、MATLABはjavaArrayコマンドで要求される次元を満たす配列構造を作成します。

javaArray関数の使用法

Javaオブジェクト配列を作成するには、MATLABのjavaArray関数を使います。これはつぎのシンタックスです。

第一引数は、'element_class' 文字列で、配列内の要素のクラス名です。修飾子付きの名前(パッケージとクラス名)を指定しなければなりません。その他の引数(m, n, p, ...)は、配列の各次元内の要素数です。

javaArrayを使って作成した配列は、以下のJavaコードを使って作成した配列と同じです。

つぎのコマンドは、各々がjava.lang.Doubleクラスの5個のオブジェクトをもつ4つの低レベルの配列のJava配列を作成します(おそらくjava.lang.Doubleクラスのインスタンスよりも基本的なdoubleタイプを使うかもしれませんが、このコンテキストでは簡単な例題を与えます)。

javaArray関数は、作成する配列要素に値を置きません。値は別個に置かなければなりません。つぎのMATLABコードは、作成したJava配列dblArrayjava.lang.Doubleタイプのオブジェクトを格納します。

Java配列を作成するその他の方法

MATLABの典型的なシンタックスを使ってjavaオブジェクトの配列を作成することも可能です。たとえば、つぎのシンタックスは、タイプdoubleの4行5列のMATLAB配列を作成し、配列の各要素にゼロを割り当てます。

Javaクラス名を指定する必要があること以外は、同じシンタックスを使ってMATLABでJava配列を作成します。この場合では0に割り当てられた値は、配列の最後の要素javaArray(4,5)に格納されます。配列のその他のすべての要素は、空行列を受け取ります。


 Java配列の機能 Java配列の要素へのアクセス