Resolução de sistemas lineares
Vamos resolver o seguinte sistema linear de três equações e três incógnitas.
O sistema é dado por:
O algoritmo abaixo permite-nos resolver o sistema linear acima. Acompanhe o código.
Muito bem, a partir do sistema linear acima podemos destacar a seguinte matriz dos coeficientes das equações...
Sabemos dos métodos utilizados para se resolver sistemas lineares, um deles usa o determinante dessa matriz. No algoritmo, denominamos de D a esse valor.
algoritmo()
{
real a1,b1,c1,d1; // coeficientes da equacao 1
real a2,b2,c2,d2; // coeficientes da equacao 2
real a3,b3,c3,d3; // coeficientes da equacao 3
real x,y,z; // as raizes
real D; // determinante
escreva("As equacoes sao da forma:");
escreva("a1x + b1y + c1z + d1 = 0");
escreva("a2x + b2y + c2z + d2 = 0");
escreva("a3x + b3y + c3z + d3 = 0");
escreva("informe os coeficientes da equacao 1");
leia ("informe a1: ", a1);
leia ("informe b1: ", b1);
leia ("informe c1: ", c1);
leia ("informe d1: ", d1);
escreva("informe os coeficientes da equacao 2");
leia ("informe a2: ", a2);
leia ("informe b2: ", b2);
leia ("informe c2: ", c2);
leia ("informe d2: ", d2);
escreva("informe os coeficientes da equacao 3");
leia ("informe a3: ", a3);
leia ("informe b3: ", b3);
leia ("informe c3: ", c3);
leia ("informe d3: ", d3);
escreva("As equacoes informadas sao");
escreva(a1,"x + ",b1,"y + ",c1,"z + ",d1," = 0");
escreva(a2,"x + ",b2,"y + ",c2,"z + ",d2," = 0");
escreva(a3,"x + ",b3,"y + ",c3,"z + ",d3," = 0");
D := a1*b2*c3 + b1*a3*c2 + c1*a2*b2;
D := D - (a1*c2*b3 + b1*a2*c3 + c1*b2*a3);
x := b1*c3*d2 + c1*b2*d3 + d1*c2*b3;
y := a1*c2*d3 + c1*a3*d2 + d1*a2*c3;
z := a1*b3*d2 + b1*a2*d3 + d1*b2*a3;
x := x - (b1*c2*d3 + c1*b3*d2 + d1*b2*c3);
y := y - (a1*c3*d2 + c1*a2*d3 + d1*c2*a3);
z := z - (a1*b2*d3 + b1*a3*d2 + d1*a2*b3);
x := x / D;
y := y / D;
z := z / D;
escreva("As solucoes das equacoes sao:");
escreva("x=",x," y=",y," z=",z);
}
A execução do algoritmo pode ser vista na figura abaixo.