Suma y Resta de Matrices con PHP


La suma y/o resta de matrices es una operación donde se suman o restan los elementos dos o mas matrices que coincidan con su posición.

Antes que nada veamos el concepto de matriz.

Que es una matriz en matemáticas?

Una matriz es un arreglo dimensional de números.  Una matriz se representa por medio de una letra mayúscula (A,B, …) y sus elementos con la misma letra en minúscula (a,b, …), con un doble subíndice donde el primero indica la fila y el segundo la columna a la que pertenece.

Suma/Resta de matrices

A continuación voy a poner una imagen de una suma/resta de matrices que me encontré en internet.

La suma/resta de matrices consiste en operar el numero de una matriz con el numero que tiene la misma posición en la otra matriz.

Tal como se ve en el ejemplo.

Código

En el siguiente código les muestro como hacer la suma/resta de matrices con PHP.

// Valores de la Matriz 1
$matriz1 = array(
array(2,0,1),
array(3,0,0),
array(5,1,1)
);
// Valores de la Matriz 2
$matriz2 = array(
array(1,0,1),
array(1,2,1),
array(1,1,0)
);
$suma = array(); // Iniciamos la matriz de resultados

if(count($matriz1) == count($matriz2)){ // Verificamos que las 2 matrices tengan el mismo tamaño de filas

for($i=0; $i<count($matriz1); $i++){ // Recorremos cada fila
	$suma[] = array(); // Creamos una entrada por cada fila
	if( count($matriz1[$i])==count($matriz2[$i])){ // Verificamos que las 2 matricies tengan las mismas columnas
		for($j=0; $j<count($matriz1[$i]); $j++){ // Recorremos las columnass
			$suma[$i][] = $matriz1[$i][$j]  + $matriz2[$i][$j]; // Realizamos la suma o resta, cambiar simbolo +/-
		}
	}
}
}
// Imprimimos los resultados
echo "<pre>";
print_r($suma);
echo "</pre>";

El código fuente ya contiene comentarios en cada linea para que se pueda entender mejor.

Resultado

Estos son los resultados de suma y resta.

Resultado de la suma.

Resultado de la Resta.

Conclusión

En el ejemplo usamos una matriz de 3×3 pero es el algoritmo puede funcionar con cualquier tamaño de matriz, siempre y cuando las 2 matrices tengan el mismo tamaño.

Leave a comment