...Microplagio...

Advertisement

Bueno hoy me vi en la necesidad de hacer una multiplicación de matrices en Java, las matrices no necesariamente son cuadradas pero obviamente deben cumplir con la propiedad de: Número de filas de la primera debe ser igual al número de columnas de la segunda…

Total que busqué un algoritmo o método ya hecho para solo copiar y pegar pues me dada flojera programarlo, pero como no encontré nada útil pues terminé programándolo yo. Y por eso dejo aquí el código de la clase y el método:

public final class Matriz {
	/**
	 * Multiplica dos matrices
	 * @param int[][] A
	 * @param int[][] B
	 * @return int[][] producto
	 */
	private static int[][] producto(int A[][], int B[][]){
		int suma = 0;
		int result[][] = new int[A.length][B.length];
		for(int i = 0; i < A.length; i++){
			for(int j = 0; j < B.length; j++){
				suma = 0;
				for(int k = 0; k < B.length; k++){
					suma += A[i][k] * B[k][j];
				}
				result[i][j] = suma;
			}
		}
		return result;
	}
}

El método es estático pues está dentro de una clase final (no instanciable ni extendible). De modo que para hacer una multiplicación solo basta con:

// Se asume que matrizA y matrizB ya están declaradas y son
// diferente a <null>

int matrizProducto[][] = Matriz.producto(matrizA, matrizB);

Claro que solo funciona para datos de tipo Integer, si lo necesitas en Float o Double, solo es cuestión de cambiarlo en el código. Espero que a más de uno le sirvan así como les sirvieron tambien los scripts para resolver matrices con el método de Gauss en PHP.

11 Comentarios:

Autumn Web Solutions
?>
elektronik sigara ukash bursa escort antalya escort istanbul elektronik sigara