[Ajuda] Sistema de equações com 3 incógnitas - Algoritmia e Lógica - Portugal-a-Programar
Home Fórum Informática Extra-Programação Algoritmia e Lógica [Ajuda] Sistema de equações com 3 incógnitas Revista PROGRAMAR: Já está disponível a edição #56 da revista programar. Faz já o download aqui!
[Ajuda] Sistema de equações com 3 incógnitas
Iniciado por karva, 19 de Janeiro de 2007
Alguem sabe um algoritmo para resolver sistemas com 3 equações a 3 incógnitas?
Supondo que a equação ja está na forma canónica.
se souberes trabalhar com matrizes, tens o algoritmo de eliminação de Gauss.
mas podes sempre usar o método da substituição.
Trabalhar com matizes. |1 2 5| |x| = |5|
|4 5 6| |y| |7|
|6 5 8| |z| |9|
Transforma em matriz triangular, afectando a matriz resultado, com o metodo de Eliminação de Gauss.
Escolhe http://www.inf.ufes.br/~galarda/resumo_sistlin.htm
Se o problema é o algoritmo com algum (não muito) trabalho arranjas uma expressão através do método de substituição.
Ok, é capaz de ser complicado.
Não tinha noção do trabalho que ia dar, comecei a resolver mas quando finalmente isolei o z = ... (3 páginas depois) percebi que me tinha enganado na forma reduzida e que ia ter que recomeçar. (considerei ax + by + cz = 0 em vez de ax + by + cz = d, isto para cada uma das 3 equações)
Resumindo, go the other way around, o método do Rui Carlos é menos trabalhoso..
Eu sinceramente, não gosto o método de substituíção, tal como é dado no ensino do príncípio ao fim. Sempre que tenho o sistema uso o método de eliminação de Gauss e posterior o método de substituição.
Sobre a resolução computacional de sistemas lineares, se usares o método de eliminação de Gauss, tens de ter o cuidado para verificar se a matriz é bem condicionada e mesmo sendo bem condicionada, com arredondamentos pode provocar grandes variações na solução final.
Por exemplo no sistema:
1x + 1.0001y = 2
A matriz do sitema é mal condicionada, se arredondares o valor 1.0001 para 1, o teu sistema Possível e Determinado com solução x=2 e y=0, fica Possível e Indeterminado!
Mesmo em matrizez bem condicionadas, é necessária uma grande atenção aos pivot que se escolhe, por exemplo:
0.0001x + 1y =1 0.0001x + 1y = 1
1x +1y =2 <=> -9999y = -9998
Que tem solução y=0.9999 e x=1
Mas se arredondar a última equação para -10000y = 10000, a solução fica y=1 e x=0. Isto porque o pivot 0.0001 é muito pequeno em relação ao pivot -9999!
Existe muitos métodos directos/indirectos para resolver sistemas lineares com as suas vantagens e desvantagens.
Apresentei isto para chamar a atenção de eventuais problemas que poderás ter no método de eliminação de Gauss.
Cumpr. bk@ero Nota: Esta informação foi retirada do livro: "Algebra Linear: Como introdução a matemática aplicada"
o problema do método de eliminação de Gauss é que pressupõe que se saiba trabalhar com matrizes, o que provavelmente não é o caso.
se no secundário não ensinam matrizes, é natural que também não ensinem o algoritmo de eliminação de Gauss.
Pois, não sei nada sobre isso...
Home Fórum Informática Extra-Programação Algoritmia e Lógica [Ajuda] Sistema de equações com 3 incógnitas Idioma English (USA) Português (Por omissão)