multiplicacion de matrices en java

Oscar jimenez
01 de Octubre del 2008
>Hola! Necesitamos un programa en Java que haga lo siguiente:

> necesito un programa q tenga 2 matrices con n numero de filas y m numero de columnas las dos (n y m seran ingresadas desde e teclado) (todos los datos de la matriz 1y 2 tienen q ser ingresados desde el teclado!!) y q me despliegue en una matriz resultado las multiplicacion de la matriz 1 y la matriz 2...

la matriz resultado tiene q tener las filas de la matriz 1 y las columnas de la matriz 2..

y el programa necesita una condicion "para q este funcione: las columanas de la matriz 1 tienen ser iguales a las filas de la matriz 2"

tambien necesito el despliegue de las tres matrices en fila por ejemplo..

matriz 1 matriz 2 resul
1 2 5 6 19 22
3 4 7 8 43 50

asi es como necesito el despliegue!! por favor ayudenme es necesario es mi examen final!!!!

Manuel
01 de Octubre del 2008
Bueno, te puedo ayudar pasandote un codigo que sirve para multiplicar las matrices el resto de hacer las validaciones haslo tu

for(i=0; i < A.length - 1;i++)
{
for( j =0;j<B[0].length - 1;j++)
{
for ( k=0;k<A.length - 1 ;k++)
{
mtrxC[i][j] = mtrxC[i][j] + (A[i][k] *B[k][j]);
}
}
}
listo con eso queda la multipliccion el A.length - 1 es el tamaño de la matriz
espero que te sirva

camilo
01 de Octubre del 2008
public float[][] MultiplyMatrix(float[][] a, float[][] b) throws Exception {

if(a[0].length != b.length)
throw new Exception("Matrices incompatible for multiplication");
float matrix[][] = new float[a.length][b[0].length];

for (int i = 0; i < a.length; i++)
for (int j = 0; j < b[i].length; j++)
matrix[i][j] = 0;

//cycle through answer matrix
for(int i = 0; i < matrix.length; i++){
for(int j = 0; j < matrix[i].length; j++){
matrix[i][j] = calculateRowColumnProduct(a,i,b,j);
}
}
return matrix;
}

public float calculateRowColumnProduct(float[][] A, int row, float[][] B, int col){
float product = 0;
for(int i = 0; i < A[row].length; i++)
product +=A[row][i]*B[i][col];
return product;
}

marcos
01 de Octubre del 2008
multiplicacion