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.
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 la- n-ésima columna de la matriz- A.
- A(m,:)es la- m-ésima fila de la matriz- A.
- A(:,:,p)es la- p-ésima página del arreglo tridimensional- A.
- A(:)remodela todos los elementos de- Aen un único vector columna. Esto no tiene efecto si- Aya es un vector columna.
- A(:,:)remodela todos los elementos de- Aen una matriz bidimensional. Esto no tiene efecto si- Aya es una matriz o un vector.
- A(j:k)utiliza el vector- j:kpara indexar en- A. Si A es un vector,- A(j:k)tiene la misma orientación que- A. Si- Aes 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 vector- j: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 hermana- logspacegenera valores espaciados logarítmicamente.
- Cuando crea un vector para indexar en un arreglo de celdas o en un arreglo de estructuras (como - cellName{:}- structName(:).- fieldName