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:kx 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.
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 deAen un único vector columna. Esto no tiene efecto siAya es un vector columna.A(:,:)remodela todos los elementos deAen una matriz bidimensional. Esto no tiene efecto siAya es una matriz o un vector.A(j:k)utiliza el vectorj:kpara indexar enA. Si A es un vector,A(j:k)tiene la misma orientación queA. SiAes una matriz,A(j:k)es un vector fila.A(:,j:k)incluye todos los subdíndices de la primera dimensión, pero utiliza el vectorj:kpara 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
fortiene una descripción sobre cómo utilizar:en el contexto de las instrucciones de bucle.linspacees 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 hermanalogspacegenera 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 las listas separadas por comas.structName(:).fieldName