Você está aqui: C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular o determinante de uma matriz 3x3 usando a Regra de Sarrus em C - Linguagem C para Álgebra LinearQuantidade de visualizações: 5117 vezes |
|
Os estudos da Geometria Analítica e Álgebra Linear envolvem, em boa parte de seus cálculos, a magnitude de vetores, ou seja, o módulo, tamanho, comprimento ou intensidade dos vetores. E isso não é diferente em relação às matrizes. Quando uma matriz é envolvida nos cálculos, com muita frequência precisamos obter o seu determinante, que nada mais é que um número real associado à todas as matrizes quadradas. Nesta dica mostrarei como obter o determinante de uma matriz quadrada de ordem 3, ou seja, três linhas e três colunas, usando a regra de Sarrus (somente matrizes 3x3). Note que é possível obter o mesmo resultado com o Teorema de Laplace, que não está restrito às matrizes quadradas de ordem 3. Veja também que não considerei as propriedades do determinante, o que, em alguns casos, simplifica muito os cálculos. Então, vamos supor a seguinte matriz 3x3: ![]() O primeiro passo é copiarmos a primeira e a segunda colunas para o lado direito da matriz. Assim: ![]() Agora dividimos a matriz em dois conjuntos: três linhas diagonais descendentes e três linhas diagonais ascendentes: ![]() Agora é só efetuar cálculos. Multiplicamos e somamos os elementos de cada conjunto, subtraindo o segundo conjunto do primeiro. Veja: (1 x 5 x 9 + 2 x 6 x 7 + 3 x 4 x 8) - (7 x 5 x 3 + 8 x 6 x 1 + 9 x 4 x 2) = 0 Como podemos ver, o determinante dessa matriz é 0. E agora veja o código C no qual declaramos e instanciamos uma matriz 3x3 de double e, em seguida, calculamos o seu determinante: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
// vamos declarar e inicializar uma matriz 3x3
double m[3][3] = {{1, 2, 3}, {2, 5, 2}, {1, 3, 1}};
// calcula o determinante usando a Regra de Sarrus
double det = ((m[0][0] * m[1][1] * m[2][2]) + (m[0][1]
* m[1][2] * m[2][0]) + (m[0][2] * m[1][0] * m[2][1]))
- ((m[2][0] * m[1][1] * m[0][2]) + (m[2][1]
* m[1][2] * m[0][0]) + (m[2][2] * m[1][0] * m[0][1]));
// vamos mostrar o determinante
printf("O determinante da matriz é %f", det);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: O determinante da matriz é: 2.0 |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |








