colon, :
Crear vectores, subindexar arreglos e iterar bucles for
Sintaxis
x = j:k x = j:i:k A(:,n) A(m,:) A(:) A(j:k)
Descripción
El operador dos puntos es uno de los operadores más útiles de MATLAB®. Puede crear vectores, subindexar arreglos y especificar iteraciones for
.
crea un vector espaciado regularmente x
= j
:i
:k
x
utilizando i
como el incremento entre elementos. Los elementos del vector son aproximadamente iguales a [j,j+i,j+2*i,...,j+m*i]
, donde m = fix((k-j)/i)
. No obstante, si i
no es un valor entero, la aritmética de punto flotante ejerce un papel para determinar si colon
incluye el punto final k
en el vector, ya que puede que k
no sea exactamente igual a j+m*i
. Si especifica arreglos no escalares, MATLAB interpreta j:i:k
como j(1):i(1):k(1)
.
x = colon(j,k)
y x = colon(j,i,k)
son formas alternativas de ejecutar los comandos j:k
y j:i:k
, pero se utilizan con poca frecuencia. Estas sintaxis permiten la sobrecarga de operadores para las clases.
A(:,n)
, A(m,:)
, A(:)
y A(j:k)
son expresiones de indexación comunes para una matriz A
que contiene dos puntos. Al utilizar dos puntos como subíndice en una expresión de indexación, como A(:,n)
, este operador actúa como notación abreviada para incluir todos los subíndices en una dimensión de arreglo concreta. También es habitual crear un vector con dos puntos para indexar, como A(j:k)
. Algunas expresiones de indexación combinan ambos usos del operador dos puntos, como en A(:,j:k)
.
Algunas expresiones de indexación que contienen dos puntos son:
A(:,n)
es lan
-ésima columna de la matrizA
.A(m,:)
es lam
-ésima fila de la matrizA
.A(:,:,p)
es lap
-ésima página del arreglo tridimensionalA
.A(:)
remodela todos los elementos deA
en un único vector columna. Esto no tiene efecto siA
ya es un vector columna.A(:,:)
remodela todos los elementos deA
en una matriz bidimensional. Esto no tiene efecto siA
ya es una matriz o un vector.A(j:k)
utiliza el vectorj:k
para indexar enA
y, por lo tanto, equivale al vector[A(j), A(j+1), ..., A(k)]
.A(:,j:k)
incluye todos los subdíndices de la primera dimensión, pero utiliza el vectorj:k
para indexar en la segunda dimensión. Esto devuelve una matriz con columnas[A(:,j), A(:,j+1), ..., A(:,k)]
.
Ejemplos
Argumentos de entrada
Argumentos de salida
Sugerencias
La página de referencia de
for
tiene una descripción sobre cómo utilizar:
en el contexto de las instrucciones de bucle.linspace
es similar al operador dos puntos,:
, pero da un control directo sobre el número de puntos y siempre incluye los puntos finales. La función hermanalogspace
genera valores espaciados logarítmicamente.Cuando crea un vector para indexar en un arreglo de celdas o en un arreglo de estructuras (como
ocellName
{:}
), MATLAB devuelve múltiples salidas en una lista separada por comas. Para obtener más información, consulte Cómo utilizar listas separadas por comas.structName
(:).fieldName
Capacidades ampliadas
Historial de versiones
Introducido antes de R2006a