このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
Java®オブジェクト配列の要素にアクセスするには,MATLAB®配列インデックス付け構文(行、列)
を使用します。Javaプログラムでは、構文は(第1行)(第1列)
です。
単独の添字のあるMATLAB行列の要素を参照する際,MATLABは行列の単一要素を返します。一方,Javaの多次元配列への単独の添字(線形)インデックスはサブ配列を返します。
たとえば,MATLAB配列を作成します。
为m = 1:4为n = 1:5 m = (m,n);结束结束matlabArr
matlabar = 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 41 42 43 44 45
内容をJava配列にコピーします。
javaArr = javaArray (“java.lang.Integer”、4、5);为m = 1:4为n = 1:5 javaArr(m,n) = java.lang.Integer(matlabArr(m,n));结束结束javaArr
javaArr = . lang。整数[][]:[11][12][13][14][15][21][22][23][24][25][31][32][33][34][35][41][42][43][44][45]
インデックス値3でMATLAB配列の単一要素が返されます。
matlabArr (3)
ans = 31
インデックス値3でJava配列の3行目全体が返されます。
javaArr (3)
ans = . lang。整数[]:[31][32][33][34][35]
Java配列への線形インデックス付けにより,大きい配列構造から配列全体を指定することができます。その後,それをオブジェクトとして操作できます。
配列の要素の範囲を指定するには,结肠
演算子 (:
)を使用します。たとえば,4 行 5 列の Java 配列を作成します。
dblArray = javaArray (“java.lang.Double”、4、5);为m = 1:4为n = 1:5 dblArray(m,n) = java.lang.Double((m*10)+n);结束结束dblArray
dblArray = . lang。双重[][]:[11][12][13][14][15][21][22][23][24][25][31][32][33][34][35][41][42][43][44][45]
列2から4の要素からサブ配列row2Array
を作成します。
row2Array = dblArray (2:4)
row2Array = . lang。Double[]: [22] [23] [24]
コロンを線形インデックス付けと一緒に使用して行列全体のすべての要素を参照することもできます。ただし,Java配列とMATLAB配列はメモリでの格納方法が異なるため,線形配列の要素の順序が異なります。Java配列要素は“行x列”の形式,つまり行列の行と一致する順序で格納されます。MATLAB配列要素は列方向,つまり列と一致する順序で格納されます。たとえば、4行5列の配列dblArray
を20行1列の線形配列に変換します。
linearArray = dblArray (:)
linearArray = . lang。双重[]:[11][12][13][14][15][21][22][23][24][25][31][32][33][34][35][41][42][43][44][45]
複数レベルのJava配列の最上位レベルの配列を参照するには,结束
キーワードを最初の添字として使用します。たとえば,Java配列dblArray
の3行目から最後の行までのデータを表示します。
last2rows = dblArray(3:最终,:)
last2rows = . lang。双重[][]:[31][32][33][34][35][41][42][43][44][45]
下位レベルの配列で结束
を使用しないでください。配列に潜在的に不調和な性質があるため、MATLAB では最後の値を判別できません。詳細については、Java配列の形状を参照してください。
java . lang . object
配列の要素にアクセスする場合,MATLABは,java . lang . object型の戻り値の表に基づいて,要素をMATLABの型に変換します。その他の型のJava配列の要素は,MATLABによって変換されません。
たとえば,java . lang . object
配列にjava.lang.Double
要素が含まれる場合,MATLABはその要素をMATLAB双
に変換します。MATLABはしかし,java.lang.Double
配列のjava.lang.Double
要素を変換しないため,MATLABではjava.lang.Double
として返されます。