Você está aqui: Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular o determinante de uma matriz usando o Teorema de Laplace em JavaQuantidade de visualizações: 766 vezes |
Como já vimos em dicas anteriores, o determinante de uma matriz de ordem 3 (três linhas e três colunas) pode ser obtido por meio da Regra de Sarrus. No entanto, quando temos matrizes de ordem 4 ou superior, a regra mais comumente aplicada é o Método dos Cofatores, ou Regra de Laplace. O Método dos Cofatores, ou Expansão de Cofatores, ou ainda Determinante por Laplace, foi um método para o cálculo de determinantes inventado por Pierre Laplace. Nesta dica mostrarei um código Java completo para calcular o determinante de uma matriz de ordem 3 usando expansão de cofatores. Note que a função calcularDeterminante() é uma função recursiva cujo caso base é a redução da matriz original em apenas uma linha e uma coluna. Veja o código completo: package estudos; public class Estudos { public static void main(String[] args){ // vamos definir a ordem da matriz int ordem = 3; // 3 linhas e 3 colunas // e agora criamos a matriz. Podemos definir os elementos // diretamente ou pedir para o usuário informar os valores int matriz[][] = {{1, 3, 0}, {0, 2, 5}, {2, 4, 4}}; // mostramos a matriz completa System.out.println("A matriz é:\n"); for (int i = 0; i < ordem; i++) { for (int j = 0; j < ordem; j++){ System.out.printf("%5d", matriz[i][j]); } System.out.print("\n"); } // vamos calcular o determinante usando o Teorema de Laplace int determinante = calcularDeterminante(matriz, ordem); // e mostramos o resultado System.out.println("\nO determinante da matriz é: " + determinante); } // função recursiva que encontra e retorna o determinante de uma // matriz de qualquer ordem public static int calcularDeterminante(int matriz[][], int ordem){ int determinante = 0; // para guardar e retornar o determinante // matriz de cofatores int cofatores[][] = new int[ordem][ordem]; // para guardar o sinal de multiplicação int sinal = 1; // caso base da recursividade: // se a matriz possuir apenas um elemento, retorna ele if (ordem == 1){ return matriz[0][0]; } // vamos percorrer cada um dos elementos da primeira linha for (int f = 0; f < ordem; f++) { // vamos obter o cofator de matriz[0][f] calcularCofator(matriz, cofatores, 0, f, ordem); determinante = determinante + (sinal * matriz[0][f] * calcularDeterminante(cofatores, ordem - 1)); Ao executar este código Java nós teremos o seguinte resultado: A matriz é: 1 3 0 0 2 5 2 4 4 O determinante da matriz é: 18 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
JavaScript - JavaScript para iniciantes - Como converter uma string em um valor numérico usando o método Number() do JavaScript Delphi - Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em Delphi VB.NET - Como usar o laço While em VB.NET |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |