Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
Creación de vectores, subíndices de arrays e iteración de for
-loop
x = j:k x = j:i:k A(:,n) A(m,:) A(:) A(j:k)
El signo de dos puntos es uno de los operadores más útiles de MATLAB®. Permite crear vectores, generar subíndices de arrays y especificar iteraciones de for
.
crea un vector x
= j
:i
:k
x
con espaciado regular mediante i
como incremento entre elementos. Los elementos vectoriales son aproximadamente iguales a [j,j+i,j+2*i,...,j+m*i]
, donde m = fix((k-j)/i)
. Sin embargo, si i
no es un entero, entonces la aritmética en punto flotante desempeña un papel a la hora de determinar si colon
incluye el extremo k
en el vector, ya que k
puede no ser exactamente igual a j+m*i
. Si especifica arrays 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 raramente se utilizan. 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 el operador de dos puntos. Cuando se utilizan los dos puntos como subíndice en una expresión de indexación, como A(:,n)
, actúa como clave para incluir todos los subíndices de una dimensión de array determinada. También es común crear un vector con dos puntos para fines de indexación, como A(j:k)
. Algunas expresiones de indexación combinan ambos usos de los dos puntos, como en A(:,j:k)
.
Las expresiones de indexación comunes que contienen dos puntos son:
A(:,n)
es la n
.ª columna de la matriz A
.
A(m,:)
es la m
.ª fila de la matriz A
.
A(:,:,p)
es la p
.ª página del array tridimensional A
.
A(:)
reformula todos los elementos de A
en un único vector de columna. Esto no tiene ningún efecto si A
ya es un vector de columna.
A(:,:)
reformula todos los elementos de A
en una matriz bidimensional. Esto no tiene ningún efecto si A
ya es una matriz o un vector.
A(j:k)
utiliza el vector j:k
para indexar en A
y, por lo tanto, es equivalente al vector [A(j), A(j+1), ..., A(k)]
.
A(:,j:k)
incluye todos los subíndices de la primera dimensión, pero utiliza el vector j:k
para indexar en la segunda dimensión. Esto devuelve una matriz con columnas [A(:,j),
A(:,j+1), ..., A(:,k)]
.
La página de referencia de for
incluye una descripción sobre cómo utilizar :
en el contexto de las instrucciones de bucle.
linspace
es similar al operador de dos puntos :
, pero proporciona control directo sobre el número de puntos y siempre incluye los extremos. La función hermana logspace
genera valores espaciados logarítmicamente.
Cuando se crea un vector para indexar en un array de celdas o de estructuras (como
o cellName
{:}
), 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