matrices
Por favor necesito ayuda para hacer un programa que multiplique dos matrices de la forma siguiente:
Matris A : m x n ;y
Matris B : n x p
Creo k la multiplicacion de matrices cuadradas (m==p)no es tan complicado. Este tipo de programa lo he estado buscando en toda la red pero todas las webs relacionadas que he encontrado tienen multiplicacion de matrices pero solo cuadradas. Estaria muy agradecido la ayuda de alguien por favor.
Gracias de Antemano
Matris A : m x n ;y
Matris B : n x p
Creo k la multiplicacion de matrices cuadradas (m==p)no es tan complicado. Este tipo de programa lo he estado buscando en toda la red pero todas las webs relacionadas que he encontrado tienen multiplicacion de matrices pero solo cuadradas. Estaria muy agradecido la ayuda de alguien por favor.
Gracias de Antemano
for(int i=0;i<m;i++){
for(int j=0;j<p;j++)
{
val=0;
for(int k=0;k<n;k++)
val+=mat[i][k]+mat1[k][j];
}
}
creo que es algo por ahy, esque estoy muy viejo para esto, pero porsia busca en los libros de Algebra Lineal
for(int j=0;j<p;j++)
{
val=0;
for(int k=0;k<n;k++)
val+=mat[i][k]+mat1[k][j];
}
}
creo que es algo por ahy, esque estoy muy viejo para esto, pero porsia busca en los libros de Algebra Lineal
Hola!. Quizás con este código te funcione:
public class Matriz {
public static void main(String[] args) {
int[][] matA = new int[3][3];
int[][] matB = new int[3][3];
int[][] matC = new int[3][3];
matA[0][0] = 1; matA[0][1] = 2;
matA[0][2] = 3; matA[1][0] = 2;
matA[1][1] = 3; matA[1][2] = 2;
matA[2][0] = 3; matA[2][1] = 1;
matA[2][2] = 1; matB[0][0] = 1;
matB[0][1] = 0; matB[0][2] = 0;
matB[1][0] = 0; matB[1][1] = 1;
matB[1][2] = 0; matB[2][0] = 0;
matB[2][1] = 0; matB[2][2] = 1;
int acum = 0;
for (int i = 0; i < matA.length; i++)
for (int m = 0; m < matB[0].length; m++) {
acum = 0;
for (int elem = 0; elem < matA[0].length; elem++)
acum += (matA[i][elem] * matB[elem][m]);
matC[i][m] = acum;
}
System.out.println(matC[0][0] +" "+ matC[0][1] +" "+ matC[0][2]);
System.out.println(matC[1][0] +" "+ matC[1][1] +" "+ matC[1][2]);
System.out.println(matC[2][0] +" "+ matC[2][1] +" "+ matC[2][2]);
}
}
Aunque para entenderlo quizás sí deberías recurrir a un libro de Álgebra Lineal :(.
public class Matriz {
public static void main(String[] args) {
int[][] matA = new int[3][3];
int[][] matB = new int[3][3];
int[][] matC = new int[3][3];
matA[0][0] = 1; matA[0][1] = 2;
matA[0][2] = 3; matA[1][0] = 2;
matA[1][1] = 3; matA[1][2] = 2;
matA[2][0] = 3; matA[2][1] = 1;
matA[2][2] = 1; matB[0][0] = 1;
matB[0][1] = 0; matB[0][2] = 0;
matB[1][0] = 0; matB[1][1] = 1;
matB[1][2] = 0; matB[2][0] = 0;
matB[2][1] = 0; matB[2][2] = 1;
int acum = 0;
for (int i = 0; i < matA.length; i++)
for (int m = 0; m < matB[0].length; m++) {
acum = 0;
for (int elem = 0; elem < matA[0].length; elem++)
acum += (matA[i][elem] * matB[elem][m]);
matC[i][m] = acum;
}
System.out.println(matC[0][0] +" "+ matC[0][1] +" "+ matC[0][2]);
System.out.println(matC[1][0] +" "+ matC[1][1] +" "+ matC[1][2]);
System.out.println(matC[2][0] +" "+ matC[2][1] +" "+ matC[2][2]);
}
}
Aunque para entenderlo quizás sí deberías recurrir a un libro de Álgebra Lineal :(.
