Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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 Java

Quantidade 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


Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 28 usuários muito felizes estudando em nosso site.