Las operaciones con matrices permiten combinar, transformar y analizar datos organizados en filas y columnas.
Una vez que una matriz organiza datos, podemos aplicar operaciones para obtener nuevas matrices o resultados numéricos.
Estas operaciones aparecen en gráficos, videojuegos, ciencia de datos e inteligencia artificial.
Para sumar o restar matrices, ambas deben tener la misma cantidad de filas y columnas.
Si las dimensiones no coinciden, la operación no está definida.
La suma se realiza elemento por elemento.
Cada posición de la matriz resultado suma los valores de la misma posición en las matrices originales.
Para sumar matrices en código, se recorren filas y columnas y se construye una nueva matriz.
function sumarMatrices(a, b) {
const resultado = [];
for (let fila = 0; fila < a.length; fila++) {
resultado[fila] = [];
for (let columna = 0; columna < a[fila].length; columna++) {
resultado[fila][columna] = a[fila][columna] + b[fila][columna];
}
}
return resultado;
}
const a = [[1, 2], [3, 4]];
const b = [[5, 6], [7, 8]];
console.log(sumarMatrices(a, b));El resultado tiene la misma dimensión que las matrices de entrada.
La resta también se realiza elemento por elemento.
La posición de cada elemento se conserva en la matriz resultado.
La estructura del algoritmo es similar a la suma, pero cambia la operación interna.
function restarMatrices(a, b) {
const resultado = [];
for (let fila = 0; fila < a.length; fila++) {
resultado[fila] = [];
for (let columna = 0; columna < a[fila].length; columna++) {
resultado[fila][columna] = a[fila][columna] - b[fila][columna];
}
}
return resultado;
}
const a = [[9, 8], [7, 6]];
const b = [[1, 2], [3, 4]];
console.log(restarMatrices(a, b));Este patrón sirve para comparar tablas de datos o estados de un sistema.
Un escalar es un número común. Multiplicar una matriz por un escalar significa multiplicar cada elemento por ese número.
La dimensión de la matriz no cambia.
Se recorre la matriz y se multiplica cada elemento por el escalar.
function multiplicarPorEscalar(matriz, escalar) {
const resultado = [];
for (let fila = 0; fila < matriz.length; fila++) {
resultado[fila] = [];
for (let columna = 0; columna < matriz[fila].length; columna++) {
resultado[fila][columna] = matriz[fila][columna] * escalar;
}
}
return resultado;
}
const matriz = [[1, 2], [4, 5]];
console.log(multiplicarPorEscalar(matriz, 3));Esta operación se usa para escalar valores de una tabla completa.
La transpuesta de una matriz intercambia filas por columnas.
Si la matriz original es de 2 x 3, su transpuesta es de 3 x 2.
Para transponer, se toma cada columna original y se convierte en una fila nueva.
function transponer(matriz) {
const resultado = [];
const filas = matriz.length;
const columnas = matriz[0].length;
for (let columna = 0; columna < columnas; columna++) {
resultado[columna] = [];
for (let fila = 0; fila < filas; fila++) {
resultado[columna][fila] = matriz[fila][columna];
}
}
return resultado;
}
const matriz = [[1, 2, 3], [4, 5, 6]];
console.log(transponer(matriz));La transposición es útil al reorganizar datos para cálculos o visualizaciones.
El producto de matrices combina filas de la primera matriz con columnas de la segunda.
Si A es de 2 x 3 y B es de 3 x 4, el resultado será de 2 x 4.
El cálculo requiere tres ciclos: uno para filas, otro para columnas y otro para acumular productos.
function multiplicarMatrices(a, b) {
const filasA = a.length;
const columnasA = a[0].length;
const columnasB = b[0].length;
const resultado = [];
for (let fila = 0; fila < filasA; fila++) {
resultado[fila] = [];
for (let columna = 0; columna < columnasB; columna++) {
let suma = 0;
for (let k = 0; k < columnasA; k++) {
suma += a[fila][k] * b[k][columna];
}
resultado[fila][columna] = suma;
}
}
return resultado;
}
const a = [[1, 2, 3], [4, 5, 6]];
const b = [[7, 8], [9, 10], [11, 12]];
console.log(multiplicarMatrices(a, b));La variable k recorre los elementos que se multiplican y suman.
Antes de operar matrices, conviene revisar que sus dimensiones sean compatibles.
function puedeMultiplicarse(a, b) {
const columnasA = a[0].length;
const filasB = b.length;
return columnasA === filasB;
}
const a = [[1, 2, 3], [4, 5, 6]];
const b = [[7, 8], [9, 10], [11, 12]];
const c = [[1, 2], [3, 4]];
console.log(puedeMultiplicarse(a, b));
console.log(puedeMultiplicarse(a, c));Validar dimensiones evita errores lógicos antes de ejecutar un cálculo más costoso.
Las operaciones con matrices se usan para transformar coordenadas, procesar imágenes, manejar datos tabulares, resolver sistemas y calcular modelos.
En software, estas operaciones suelen estar dentro de bibliotecas matemáticas optimizadas.
Las operaciones básicas con matrices amplían la utilidad de las tablas numéricas. Permiten combinar información, escalar valores y transformar estructuras.
En el próximo tema se estudiarán aplicaciones de matrices en programación.