Main Content

Acceda a elementos de arrayJava

Indexación de matricesMATLAB

Para acceder a los elementos de una matriz de objetos, utilice la sintaxis de indexación de matrices,.Java®MATLAB®A(row,column) En un programa, la sintaxis es.JavaA[row-1][column-1]

Indización de subíndice único

Cuando se refiere a los elementos de una matriz con un único subíndice, devuelve un solo elemento de la matriz.MATLABMATLAB Por el contrario, la indización de un único subíndice (lineal) en una matriz multidimensional devuelve un subgráfico.Java

Por ejemplo, cree una matriz.MATLAB

for m = 1:4     for n = 1:5         matlabArr(m,n) = (m*10)+n;     end end matlabArr
matlabArr =      11    12    13    14    15     21    22    23    24    25     31    32    33    34    35     41    42    43    44    45 

Copie el contenido en una matriz.Java

javaArr = javaArray('java.lang.Integer',4,5); for m = 1:4     for n = 1:5         javaArr(m,n) = java.lang.Integer(matlabArr(m,n));     end end javaArr 
javaArr =    java.lang.Integer[][]:      [11]    [12]    [13]    [14]    [15]     [21]    [22]    [23]    [24]    [25]     [31]    [32]    [33]    [34]    [35]     [41]    [42]    [43]    [44]    [45]

El valor de índice 3 devuelve un solo elemento de la matriz.MATLAB

matlabArr(3) 
ans = 31

El valor de índice 3 devuelve la tercera fila completa de una matriz.Java

javaArr(3)
ans =    java.lang.Integer[]:      [31]     [32]     [33]     [34]     [35]

La indexación lineal en una matriz le permite especificar una matriz completa a partir de una estructura de matriz más grande.Java A continuación, puede manipularlo como un objeto.

Indexación de operadores de colon

Para especificar un rango de elementos en una matriz, utilice el operador ().colon: Por ejemplo, cree una matriz de 4 por 5.Java

dblArray = javaArray('java.lang.Double',4,5); for m = 1:4     for n = 1:5         dblArray(m,n) = java.lang.Double((m*10)+n);     end end dblArray
dblArray =    java.lang.Double[][]:      [11]    [12]    [13]    [14]    [15]     [21]    [22]    [23]    [24]    [25]     [31]    [32]    [33]    [34]    [35]     [41]    [42]    [43]    [44]    [45]

Cree una submatriz a partir de los elementos de las columnas 2 a 4.row2Array

row2Array = dblArray(2,2:4)
row2Array =    java.lang.Double[]:      [22]     [23]     [24] 

También puede utilizar los dos puntos con indexación lineal para hacer referencia a todos los elementos de toda la matriz. Sin embargo, y las matrices se almacenan de manera diferente en la memoria lo que significa que el orden de los elementos en una matriz lineal es diferente. elementos de la matriz se almacenan en un formato de fila por columna, un orden que coincide con las filas de la matrizJavaMATLABJava. elementos de la matriz se almacenan en forma de columna, un orden que coincide con las columnasMATLAB. Por ejemplo, convierta la matriz 4-by-5 en una matriz lineal de 20 por 1.dblArray

linearArray = dblArray(:)
linearArray =    java.lang.Double[]:      [11]     [12]     [13]     [14]     [15]     [21]     [22]     [23]     [24]     [25]     [31]     [32]     [33]     [34]     [35]     [41]     [42]     [43]     [44]     [45]

El uso de END en un subíndice

Para hacer referencia a la matriz de nivel superior en una matriz multinivel, utilice la palabra clave como el primer subíndice.Javaend Por ejemplo, muestre los datos de la tercera a las últimas filas de la matriz.JavadblArray

last2rows = dblArray(3:end,:)
last2rows =    java.lang.Double[][]:      [31]    [32]    [33]    [34]    [35]     [41]    [42]    [43]    [44]    [45]

No utilizar en matrices de nivel inferior.end Debido a la naturaleza potencialmente desigual de las matrices, no se puede determinar el valor final.MATLAB Para obtener más información, consulte.Forma de matricesJava

Convertir elementos de matriz de objetos en tiposMATLAB

Cuando se accede a un elemento de una matriz, se convierte el elemento a un tipo, en función de la tabla en. no convierte elementos de ningún otro tipo de matriz.java.lang.ObjectMATLABMATLABTipos de devoluciónjava.lang.ObjectMATLABJava

Por ejemplo, si una matriz contiene un elemento, a continuación, convierte el elemento a un.java.lang.Objectjava.lang.DoubleMATLABMATLABdouble Sin embargo, no convierte un elemento en una matriz. lo devuelve como.MATLABjava.lang.Doublejava.lang.DoubleMATLABjava.lang.Double

Temas relacionados