Esto es un código en Java, para multiplicar, sumar y restar dos matrices de 4x3.
Mostrando en una caja de texto las dos matrices a multiplicar e igualmente que sus respectivos resultados.

En el Main.

Código: Seleccionar todo

package matrices.multiplicacion;
/*
 * @author KaneC0der
 */
import javax.swing.*;
public class Main {

    public static void main(String[] args) {
        double[][] a1={{2,3,5},{3,4,2},{5,7,4}};
        MultiplicacionDeMatrices a=new MultiplicacionDeMatrices(a1);
        double[][] a2={{1,3,2},{4,2,6},{2,5,6}};
        MultiplicacionDeMatrices b=new MultiplicacionDeMatrices(a2);

        JOptionPane.showMessageDialog(null,"Matriz A:" + a.mostrar()+
                                           "Matriz B:" + b.mostrar());

                MultiplicacionDeMatrices re = a.suma(a, b);
        JOptionPane.showMessageDialog(null, "Suma:"+re.mostrar());

                MultiplicacionDeMatrices re2 = a.resta(a, b);
        JOptionPane.showMessageDialog(null, "Resta:"+re2.mostrar());

                MultiplicacionDeMatrices re3 = a.producto(a, b);
        JOptionPane.showMessageDialog(null, "Producto:"+re3.mostrar());

    }
}
Creamos otra clase llamada en este caso MultiplicaciónDeMatrices.

Código: Seleccionar todo

package matrices.multiplicacion;
/*
 * @author KaneC0der
 */
public class MultiplicacionDeMatrices {
    public int n; // dimension de la matriz
    private double[][] x;

    //crea una matriz de "n" elementos con ceros
     public MultiplicacionDeMatrices(int n) {
        this.n = n;
        x = new double[n][n];
        for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
                x[i][j]=0;
            }
        }
     }

     //crea una matriz con un array bidimensional pasado como parametro
     public MultiplicacionDeMatrices(double[][] x) {
        this.x=x;
        n=x.length;
    }

     //muestra en pantalla a la matriz
      public String mostrar(){
        String texto="\n";
        for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
                // tabulador "\t" y se limita el numero de decimales a tres
                texto+="\t "+(double)Math.round(1000*x[i][j])/1000;
            }
            //cuando se alcanza el final de la linea se inserta un  retorno de carro
            texto+="\n";
        }
        texto+="\n";
        return texto;
  }

      public  MultiplicacionDeMatrices suma(MultiplicacionDeMatrices a, MultiplicacionDeMatrices b){
        MultiplicacionDeMatrices resultado=new MultiplicacionDeMatrices(a.n);
        for(int i=0; i<a.n; i++){
            for(int j=0; j<a.n; j++){
                resultado.x[i][j]=a.x[i][j]+b.x[i][j];
            }
        }
        return resultado;
    }

      public  MultiplicacionDeMatrices resta(MultiplicacionDeMatrices a, MultiplicacionDeMatrices b){
        MultiplicacionDeMatrices resultado=new MultiplicacionDeMatrices(a.n);
        for(int i=0; i<a.n; i++){
            for(int j=0; j<a.n; j++){
                resultado.x[i][j]=a.x[i][j]-b.x[i][j];
            }
        }
        return resultado;
    }

      public  MultiplicacionDeMatrices producto(MultiplicacionDeMatrices a, MultiplicacionDeMatrices b){
        MultiplicacionDeMatrices resultado=new MultiplicacionDeMatrices(a.n);
        for(int i=0; i<a.n; i++){
            for(int j=0; j<a.n; j++){
                for(int k=0; k<a.n; k++){
                    resultado.x[i][j]+=a.x[i][k]*b.x[k][j];
                }
            }
        

          }
        return resultado;
    }
}
Saludos!
Responder

Volver a “Otros lenguajes”