Una matriz fila organiza sus elementos horizontalmente y una matriz columna los organiza verticalmente. Aunque pueden contener los mismos valores, sus dimensiones y su papel en las operaciones matriciales son diferentes.
En el tema anterior clasificamos matrices según sus dimensiones y propiedades. Dos de los casos más simples son la matriz fila y la matriz columna.
Ambas pueden almacenar una secuencia de valores, pero no tienen la misma forma. La orientación determina cómo se combinan con otras matrices, qué productos pueden realizarse y cuál será la dimensión del resultado.
Una matriz fila es una matriz que tiene exactamente una fila. Puede contener cualquier cantidad positiva de columnas.
Sus elementos pueden nombrarse como f11, f12, f13 y f14. El primer subíndice siempre vale 1 porque existe una sola fila.
Como matriz, se representa mediante un arreglo exterior que contiene una única fila.
const fila = [[3, 7, 2, 5]];
console.log("Cantidad de filas:", fila.length);
console.log("Cantidad de columnas:", fila[0].length);
console.log("Elemento f₁₃:", fila[0][2]);
El doble corchete inicial no es decorativo: el arreglo exterior representa la matriz y el arreglo interior representa su única fila.
Una matriz columna es una matriz que tiene exactamente una columna. Puede contener cualquier cantidad positiva de filas.
Sus elementos pueden nombrarse como c11, c21, c31 y c41. El segundo subíndice siempre vale 1 porque existe una sola columna.
Cada fila contiene un solo elemento, por lo que necesitamos un arreglo interno por cada componente.
const columna = [[3], [7], [2], [5]];
console.log("Cantidad de filas:", columna.length);
console.log("Cantidad de columnas:", columna[0].length);
console.log("Elemento c₃₁:", columna[2][0]);
El elemento c31 se obtiene con columna[2][0] porque los índices de JavaScript comienzan en cero.
| Característica | Matriz fila | Matriz columna |
|---|---|---|
| Orden general | 1 × n | n × 1 |
| Cantidad de filas | 1 | n |
| Cantidad de columnas | n | 1 |
| Orientación | Horizontal | Vertical |
| Elemento general | f1j | ci1 |
| Como vector | Vector fila | Vector columna |
Una matriz de orden 1 × 1 es simultáneamente matriz fila, matriz columna y matriz cuadrada.
Un vector con n componentes puede representarse horizontalmente como matriz fila o verticalmente como matriz columna.
En muchos textos, los vectores se consideran columnas de forma predeterminada. Su transpuesta se escribe como un vector fila.
La transpuesta intercambia filas por columnas. Por eso convierte una matriz fila de orden 1 × n en una matriz columna de orden n × 1, y viceversa.
const fila = [[2, 4, 6]];
const columna = fila[0].map(valor => [valor]);
const filaRecuperada = [columna.map(elemento => elemento[0])];
console.log("Columna:", columna);
console.log("Fila:", filaRecuperada);
En una matriz fila cambia la columna mientras la fila permanece fija. En una matriz columna cambia la fila mientras la columna permanece fija.
const F = [[10, 20, 30]];
const C = [[10], [20], [30]];
F[0].forEach((valor, j) => {
console.log(`F[1,${j + 1}] = ${valor}`);
});
C.forEach((fila, i) => {
console.log(`C[${i + 1},1] = ${fila[0]}`);
});
La salida utiliza índices matemáticos, comenzando en 1, aunque internamente JavaScript recorre índices desde 0.
Dos matrices pueden sumarse si tienen el mismo orden. Por lo tanto, podemos sumar dos matrices fila de igual longitud o dos matrices columna con la misma cantidad de filas.
function sumarFilas(a, b) {
if (a.length !== b.length) {
throw new Error("Las filas deben tener igual longitud");
}
return a.map((valor, j) => valor + b[j]);
}
console.log(sumarFilas([1, 3, 5], [2, 4, 6]));
No podemos sumar directamente una matriz fila de orden 1 × n con una matriz columna de orden n × 1 porque sus órdenes son diferentes.
Multiplicar una matriz fila o columna por un escalar consiste en multiplicar cada uno de sus elementos por el mismo número. La orientación y el orden no cambian.
const columna = [[3], [5], [7]];
const escalar = 2;
const resultado = columna.map(fila => [escalar * fila[0]]);
console.log(resultado);
El resultado es la matriz columna [[6], [10], [14]], que conserva el orden 3 × 1.
Una matriz fila de orden 1 × n puede multiplicarse por una matriz columna de orden n × 1. El resultado tiene orden 1 × 1, por lo que contiene un único valor.
function filaPorColumna(fila, columna) {
if (fila.length !== columna.length) {
throw new Error("Las dimensiones internas deben coincidir");
}
return fila.reduce(
(suma, valor, i) => suma + valor * columna[i],
0
);
}
console.log(filaPorColumna([2, 3, 4], [5, 6, 7]));
Esta operación coincide con el producto escalar entre dos vectores.
Si invertimos el orden, una matriz columna de orden m × 1 multiplicada por una matriz fila de orden 1 × n produce una matriz de orden m × n.
function columnaPorFila(columna, fila) {
return columna.map(valorColumna =>
fila.map(valorFila => valorColumna * valorFila)
);
}
console.log(columnaPorFila([2, 3], [4, 5, 6]));
Este cálculo se conoce como producto exterior. Demuestra que la multiplicación matricial depende del orden: fila por columna y columna por fila producen resultados de formas diferentes.
| Operación | Dimensiones | Resultado |
|---|---|---|
| Suma de filas | (1 × n) + (1 × n) | 1 × n |
| Suma de columnas | (n × 1) + (n × 1) | n × 1 |
| Fila por columna | (1 × n)(n × 1) | 1 × 1 |
| Columna por fila | (m × 1)(1 × n) | m × n |
| Transpuesta de fila | (1 × n)T | n × 1 |
Las incógnitas y los resultados de un sistema lineal suelen representarse mediante matrices columna.
La matriz de coeficientes A transforma el vector columna de incógnitas x en el vector columna de resultados b.
En una matriz de datos, una fila puede representar una observación y una columna puede representar una característica.
const datos = [
[1200, 5, 4.8],
[850, 8, 4.5],
[2100, 3, 4.9]
];
const primerProducto = datos[0];
const precios = datos.map(fila => fila[0]);
console.log("Fila:", primerProducto);
console.log("Columna de precios:", precios);
Extraer filas selecciona observaciones completas; extraer columnas selecciona una misma característica para todas las observaciones.
Una función de validación debe comprobar primero que la estructura sea una matriz rectangular y luego analizar sus dimensiones.
function identificarOrientacion(matriz) {
if (!Array.isArray(matriz) || matriz.length === 0) return "inválida";
if (!matriz.every(fila => Array.isArray(fila))) return "inválida";
const columnas = matriz[0].length;
if (!columnas || !matriz.every(fila => fila.length === columnas)) {
return "inválida";
}
if (matriz.length === 1 && columnas === 1) return "fila y columna";
if (matriz.length === 1) return "fila";
if (columnas === 1) return "columna";
return "ninguna de las dos";
}
console.log(identificarOrientacion([[2, 4, 6]]));
console.log(identificarOrientacion([[2], [4], [6]]));
Las matrices fila y columna contienen secuencias de valores, pero su orientación determina qué operaciones pueden realizarse y cuál será la forma del resultado. Esta distinción es esencial en sistemas de ecuaciones, gráficos y análisis de datos.
En el próximo tema estudiaremos las matrices cuadradas y rectangulares, sus diferencias y las operaciones que dependen de su forma.