Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Vector multidimensional
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
En [[programación]], un '''vector multidimensional''' es un [[Vector (informática)|vector]] que se indexa mediante una lista ordenada de enteros. El número de enteros que se utiliza en esta lista para indexar el vector multidimensional es siempre el mismo y se conoce como la '''dimensionalidad del vector'''. Por otra parte, los límites de cada uno de los enteros que forman parte del índice, determinan la '''dimensión del vector'''. A un vector con dimensionalidad '''''k''''' se le suele llamar '''''k'''''-dimensional. Los vectores 1-dimensional se corresponden con los [[vector]]es ordinarios en los que los elementos están dispuestos en una única fila (o columna); los vectores 2-dimensional son otra forma de llamar a las clásicas [[Matriz (matemática)|matrices]] en las que sus elementos están dispuestos en varias filas y columnas (dos dimensiones). En la práctica, la dimensionalidad de un vector raras veces excede de tres. ==Representación en memoria== La forma de disponer los elementos de un vector 1-dimensional en la memoria de un [[computadora|ordenador]] es trivial, ya que ésta, en sí misma, tiene la forma de un vector 1-dimensional (muy grande). Cuando se quiere almacenar vectores '''''n'''''-dimensionales, sin embargo, el problema ya no es evidente. Supongamos que queremos representar esta simple matriz de dos dimensiones: :<math>\mathbf{A} = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} </math> La forma más común de indexar esta matriz (o vector 2-dimensional) es utilizando la convención '''RC''' (del inglés '' '''R'''ow-'''C'''olumn'', ''fila-columna''), en la que los elementos se referencian indicando primero la fila y luego la columna (ejemplo, <math>A_{row,col}\,</math>), de esta forma se tiene que: :<math>A_{1,1}=1,\ A_{1,2}=2,\ \ldots,\ A_{3,2}=8,\ A_{3,3}=9\,</math> La indexación de vectores multidimensionales se puede hacer de alguna de estas maneras: *'''Orden fila-principal''': Los elementos de cada fila son almacenados en orden, primero una fila, luego otra, y así sucesivamente. Este método se utiliza sobre todo en los '''''arrays''''' estáticos declarados en [[Lenguaje de programación C| C]]. {| border=1 |- | 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 |} *'''Orden columna-principal''': Análogo al anterior pero esta vez almacenando los elementos por columnas en vez de por filas: {| border=1 |- | 1 || 4 || 7 || 2 || 5 || 8 || 3 || 6 || 9 |} [[Image:Array of array storage.svg|thumb|200px|Vector 2-dimensional almacenado en un vector 1-dimensional de vectores 1-dimensionales.]] * '''Vector de X dimensiones''': Típicamente, los vectores multidimensionales se representan utilizando un vector 1-dimensional que contiene [[Puntero (programación)|referencias (o punteros)]] a otros vectores 1-dimensionales. Estos subvectores pueden ser, indistintamente, las filas o las columnas de la matriz, todo depende del criterio o la interpretación que se quiera tomar. Las dos primeras formas son más compactas y tienen potencialmente mejor localización de referencia, pero también son más limitadas; los vectores deben ser ''rectangulares'', en el sentido de que ninguna fila puede contener más elementos otra. Los vectores de vectores, por otro lado, permiten la creación de ''vectores desiguales'', también llamados ''vectores dentados'', en la que el rango válido de un índice depende del valor de otro, o dicho con otras palabras, que las diferentes filas (o columnas) pueden ser de diferentes tamaños. Los vectores de vectores también son de utilidad en los lenguajes de programación que sólo permiten vectores 1-dimensionales como primitivas. En muchas aplicaciones, como aplicaciones numéricas que trabajan con [[Matriz (matemática)|matrices]], hay que iterar sobre vectores rectangulares 2-dimensionales de forma predecible. Por ejemplo, calcular un elemento de la matriz producto '''A x B''' implica iterar sobre una fila de '''A''' y una columna de '''B''' simultáneamente. Al indexar los elementos de la matriz según se encuentre está almacenada en memoria, se deben optimizar las operaciones de localización de cada elemento tanto como se pueda. A veces, un compilador puede determinar automáticamente el diseño de la serie secuencial de elementos de un vector para que se almacenen también secuencialmente en memoria, en nuestro ejemplo, podría elegir el orden de '''''fila-principal''''' para '''A''', y el orden '''''columna-principal''''' para '''B'''. Existen más formas de almacenar los elementos de una matriz en memoria, que serán más eficientes para otro tipo de problemas, por ejemplo si se quiere iterar sobre la [[diagonal principal]] de una matriz. ==Véase también== *[[Vector (programación)]] *[[Vector (física)]] *[[Álgebra lineal]] *[[Estructura de datos]] *[[Base de datos multidimensional]] *[[Gráfico vectorial]] *[[Cubo OLAP]] {{Control de autoridades}} [[Categoría:Estructura de datos]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Vector multidimensional
»
Añadir idiomas
Añadir tema