访问Java中的元素®对象数组,使用MATLAB®数组索引语法,(行、列)
.在Java程序中,语法是(第1行)(第1列)
.
当你用一个下标引用一个MATLAB矩阵的元素时,MATLAB返回矩阵的一个元素。相反,对多维Java数组进行单下标(线性)索引将返回一个子数组。
例如,创建MATLAB阵列。
为m = 1:4为n = 1:5 matlabarr(m,n)=(m * 10)+ 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数组中的整个第三行。
JavaAr(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]
创建一个子阵列row2Array
从列2到4中的元素。
row2Array = dblArray (2:4)
row2array = java.lang.double []:[22] [23] [24]
您还可以使用冒号与线性索引,以引用整个矩阵中的所有元素。然而,Java和MATLAB数组在内存中的存储方式不同,这意味着线性数组中元素的顺序是不同的。Java数组元素以逐列的格式存储,这种顺序与矩阵的行相匹配。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
.
last2rows = dblarray(3:结束,:)
last2rows = . lang。双重[][]:[31][32][33][34][35][41][42][43][44][45]
不要使用结束
在较低级别的阵列上。由于阵列的潜在粗糙的性质,MATLAB无法确定最终值。有关更多信息,请参阅Java数组的形状.
当您访问一个元素时java . lang . object
数组,MATLAB将元素转换为MATLAB类型,基于中的表java . lang . object返回类型.MATLAB不转换任何其他类型的Java数组元素。
例如,如果是java . lang . object
包含一个数组java.lang.Double
元素,然后MATLAB将元素转换为MATLAB双
.但是,Matlab不转换ajava.lang.Double
元素java.lang.Double
数组中。MATLAB返回为java.lang.Double
.