Skip to content

Latest commit

 

History

History
88 lines (77 loc) · 2.48 KB

sumaProductoMatrices.md

File metadata and controls

88 lines (77 loc) · 2.48 KB
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Matrices;

/**
 *
 * @author Edith
 */
public class matInicio {
    public int n; // dimension de la matriz
    private double[][] x; //array bidimensional
    
    //crea una matriz de "n" elementos con ceros
     public matInicio(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.0;
            }
        }
     }
     
     //crea una matriz con un array bidimensional pasado como parametro
     public matInicio(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  matInicio suma(matInicio a, matInicio b){
        matInicio resultado=new matInicio(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  matInicio producto(matInicio a, matInicio b){
        matInicio resultado=new matInicio(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;
    }  
      
      public static void main(String[] args) {                    
        double[][] a1={{2, 0, 1},{3,0,0},{5,1,1}};
        matInicio a=new matInicio(a1);
        
        double[][] a2={{1, 0, 1},{1,2,1},{1,1,0}};
        matInicio b=new matInicio(a2);
        
        System.out.println("Matriz A: " + a.mostrar());
        System.out.println("Matriz B: " + b.mostrar());        
        
        matInicio re = a.suma(a, b);
        System.out.println("Suma "+re.mostrar());
        matInicio re2 = a.producto(a, b);
        System.out.println("Producto "+re2.mostrar());
    }       
}