Rovnice o třech neznámýchRovnice se třemi neznámými vypadají takto (za čísla si dosadíme dvojrozměrné pole hodnot): A[1,1]x + A[1,2]y + A[1,3]z = B[1] A[2,1]x + A[2,2]y + A[2,3]z = B[2] A[3,1]x + A[3,2]y + A[3,3]z = B[3] Vypočítáme si tři hodnoty (psáno v pascalu) d:= A[1,1]*A[2,2]*A[3,3]+A[1,2]*A[2,3]*A[3,1]+A[1,3]*A[2,1]*A[3,2]-
A[3,1]*A[2,2]*A[1,3]-A[3,2]*A[2,3]*A[1,1]-A[3,3]*A[2,1]*A[1,2];
dx:=B[1]*A[2,2]*A[3,3]+A[1,2]*A[2,3]*B[3]+A[1,3]*B[2]*A[3,2]-
B[3]*A[2,2]*A[1,3]-A[3,2]*A[2,3]*B[1]-A[3,3]*B[2]*A[1,2];
dy:=A[1,1]*B[2]*A[3,3]+B[1]*A[2,3]*A[3,1]+A[1,3]*A[2,1]*B[3]-
A[3,1]*B[2]*A[1,3]-B[3]*A[2,3]*A[1,1]-A[3,3]*A[2,1]*B[1];
dz:=A[1,1]*A[2,2]*B[3]+A[1,2]*B[2]*A[3,1]+B[1]*A[2,1]*A[3,2]-
A[3,1]*A[2,2]*B[1]-A[3,2]*B[2]*A[1,1]-B[3]*A[2,1]*A[1,2];
if abs(d)<1e-10 then writeln('Není jednoznačné řešení !')
else
begin
x:=dx/d;
y:=dy/d;
z:=dz/d;
end;
Je to standartní matematická finta na řešení rovnic o třech neznámých přes determinanty a Sarrusovo pravidlo. Po uzávěrce stránky mi došla tato reakce: Ak chces nejako zmysluplne osetrit pripady, ked je D=0 ( bud neexistuje riesenie alebo je rieseni nekonecne vela ) alebo chces riesit viac rovnic, odporucam Gausovu eliminacnu metodu. |
|
WEBovský
počítadlo spočítalo, že si číslo
|