You are on page 1of 2

Cdigo de una clase java para obtener la determinante de una matriz n x n.

EL trato de excepciones que quieran manejar lo dejo a su criterio. Este documento slo mostrar la realizacin del mtodo de manera matemtica, agregando ese toque de curiosidad al usar recursividad. Espero les sea til. (No olviden el nombre del paquete y de la clase).

package com.determinante.matriz; public class MatrizDeterminante { public static Double getDeterminante(Double[][] matriz){ final int cero = 0; final int uno = 1; final int dos = 2; Double det = new Double(cero); for(int i = cero; i < matriz[cero].length; i++){ Double indice = Math.pow(-uno, i) * matriz[cero][i]; Double[][] subMatriz = new Double[ matriz[cero].length uno][matriz[cero].length - uno]; for(int j = uno; j < matriz[cero].length; j++){ int m = cero; for(int k = cero; k < matriz[cero].length; k++){ if(k != i){ subMatriz[j-uno][m] = matriz[j][k]; m++; } } } if(dos == matriz[cero].length){ Double detAux; detAux = (matriz[cero][cero] * matriz[uno][uno]) (matriz[cero][uno] * matriz[uno][cero]); return detAux; }else{ det += indice * getDeterminante(subMatriz); } } return det; } public static void main(String... args){ Double[][] matriz = new Double[3][3]; matriz[0][0] = 1.0; matriz[0][1] = 2.0; matriz[0][2] = 3.0; matriz[1][0] = 6.0; matriz[1][1] = 1.0; matriz[1][2] = 3.0; matriz[2][0] = 4.0;

David Guadiana Martnez

// // // // // } }

matriz[2][1] = 2.0; matriz[2][2] = 3.0; Double[][] matriz = new Double[2][2]; matriz[0][0] = 1.0; matriz[0][1] = 2.0; matriz[1][0] = 6.0; matriz[1][1] = 1.0; System.out.println(getDeterminante(matriz));

David Guadiana Martnez

You might also like