Java. Ejemplo de Multiplicar Matrices.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import java.io.*; /** * * @author masar */ public class CEntDatos { public static String inicial ( ) { String datointroducido = "" ; try { // Definimos un flujo de caracteres de entrada. InputStreamReader flujo= new InputStreamReader ( System.in ); // Creamos un objeto de esta clase que almacenará la información en un bufer. BufferedReader teclado = new BufferedReader ( flujo ); // Introducimos la entrada y la asignamos a una variable. datointroducido = teclado .readLine(); } catch (IOException e){ System.err .print ( "Error: " + e.getMessage ( ) ); } return datointroducido ; } //------------------------------------------------------------------------ public static int entero( ) { try { return Integer.parseInt( inicial( ) ); } catch ( NumberFormatException e ) { return Integer. MIN_VALUE; // valor más pequeño. } } //------------------------------------------------------------------------ public static double real( ) { try { return Double.parseDouble ( inicial( ) ); } catch ( NumberFormatException e ) { return Double. NaN; // No es un número. } } //------------------------------------------------------------------------ public static String cadena() { return inicial( ); } //------------------------------------------------------------------------ static char caracter() { String valor= inicial(); return valor.charAt(0); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | package multiplicarmatrices; /** * * @author codesitio.com */ public class MultiplicarMatrices { public static void main(String[] args) { int tablaA[][]=new int[3][3]; int tablaB[][]=new int[3][3]; int mul=0; //introducimos números en la Matriz A System.out.println("Introduce los números en la Matriz A:"); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.print("Fila "+(i+1)+" Columna "+(j+1)+" = "); tablaA[i][j]=CEntDatos.entero(); } } System.out.println("Test"); System.out.println("------------------------------------------"); //introducimos números en la Matriz B System.out.println("Introduce los números en la Matriz B:"); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.print("Fila "+(i+1)+" Columna "+(j+1)+" = "); tablaB[i][j]=CEntDatos.entero(); } } //Mostramos los números introducidos System.out.println("Estas son las matrices introducidas:"); System.out.println(""); System.out.println("MATRIZ A"); System.out.println("-----------"); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.print(tablaA[i][j]+" "); if(j==2){ System.out.println(""); } } } System.out.println("MATRIZ B"); System.out.println("-----------"); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.print(tablaB[i][j]+" "); if(j==2){ System.out.println(""); } } } //MULTIPLICACION System.out.println("la Matriz resultante de multiplicar ambas Matrices es: "); for(int i=0;i<3;i++){ for(int k=0;k<3;k++){ for(int j=0;j<3;j++){ mul += tablaA[i][j]*tablaB[j][k]; } System.out.print(mul+" "); mul =0; //Para presentar mejor la matriz en consola if(k==2){ System.out.println(""); } } } } } |

En este ejemplo de programa en Java mostramos un algoritmo que multiplica dos matrices cuadradas de dimensión 3×3. Para multiplicar matrices es requisito indispensable que el número de filas de una sea igual al número de columnas de la otra matriz, por tanto estas multiplicaciones serian correctas:
3×3 x 2×3
3×3 x 1×3
2×1 x 3×2
En este ejemplo ambas matrices tienen misma dimensión, habría que adaptarlo para multiplicar matrices de distinta dimensión, pero es un buen ejemplo de uso de bucles for anidados.
Para multiplicar matrices se multiplican cada elemento de una fila por cada elemento de la columna y posteriormente se suman los resultados. El resultado seria el elemento correspondiente de la matriz multiplicación resultante. Por ejemplo, para el primer elemento de la matriz multiplicación resultante, hariamos la siguiente operación:
matrizResultado[0][0] = A0][0]*B[0][0] + A[0][1]*B[1][0] + A[0][2]*B[2][0]
Y de esta forma procederiamos para hayar cada uno de los elementos de la matriz multiplicación resultante
quiero saber el codigo
Pestaña ‘CMain’ del cuadro superior.