Buscar..


Sintaxis

  • sub2ind (dims :: Tuple {Vararg {Integer}}, I :: Integer ...)
  • sub2ind {T <: Integer} (dims :: Tuple {Vararg {Integer}}, I :: AbstractArray {T <: Integer, 1} ...)

Parámetros

parámetro detalles
dims :: Tuple {Vararg {Integer}} tamaño de la matriz
I :: Integer ... subíndices (escalar) de la matriz
I :: AbstractArray {T <: Entero, 1} ... subíndices (vector) de la matriz

Observaciones

El segundo ejemplo muestra que el resultado de sub2ind puede tener muchos errores en algunos casos específicos.

Convertir subíndices a índices lineales.

julia> sub2ind((3,3), 1, 1)
1

julia> sub2ind((3,3), 1, 2)
4

julia> sub2ind((3,3), 2, 1)
2

julia> sub2ind((3,3), [1,1,2], [1,2,1])
3-element Array{Int64,1}:
 1
 4
 2

Pits & Falls

# no error, even the subscript is out of range.
julia> sub2ind((3,3), 3, 4)
12

Uno no puede determinar si un subíndice está en el rango de una matriz comparando su índice:

julia> sub2ind((3,3), -1, 2)
2

julia> 0 < sub2ind((3,3), -1, 2) <= 9
true


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow