Soustava rovnic

Tento notebook obsahuje řešení soustavy rovnic ve tvaru  a1x + b1y + c1 = 0 a a2x + b2y + c2 = 0 V závislosti na koeficientech a1, b1, c1, a2, b2 a c2 se vypočítají kořeny příslušné soustavy a vykreslí se grafy funkcí, které reprezentují levé strany obou rovnic. Koeficienty může každý uživatel snadno měnit.

© Jaroslav Reichl, 2008

(*První rovnice*)
a1=1;
b1=2;
c1=-4;

(*Druhá rovnice*)
a2=-1;
b2=2;
c2=8;

xmin=-10;
xmax=10;

deltax=2;

linrovnice1=a1 x+b1 y+c1==0;
linrovnice2=a2 x+b2 y+c2==0;
reseni=Solve[{linrovnice1,linrovnice2},{x,y}];
If[reseni≠{},
{resenix=x/.reseni[[1]],
reseniy=y/.reseni[[1]]},
""];

linvyraz1=Solve[linrovnice1,y];
linvyraz1=y/.linvyraz1[[1]];
linvyraz2=Solve[linrovnice2,y];
linvyraz2=y/.linvyraz2[[1]];

If[NumericQ[resenix],
If[resenix≤0,
{xmin=resenix-deltax,
xmax=deltax},
{xmin=-deltax,
xmax=resenix+deltax}]];

grafik=Plot[{linvyraz1,linvyraz2},{x,xmin,xmax},PlotRange->All,AxesLabel->{"x","y"},AxesOrigin->{0,0}];

If[NumericQ[resenix],
Show[grafik,
Graphics[{RGBColor[0,0,1],Thickness[0.005],AbsoluteDashing[{1,5}],Line[{{resenix,0},{resenix,reseniy},{0,reseniy}}]}],
Graphics[{RGBColor[0,0,1],PointSize[0.02],Point[{resenix,reseniy}]}]],
Show[grafik]]
If[NumericQ[resenix],
Print["Soustava rovnic ",TraditionalForm[linrovnice1]," a ",TraditionalForm[linrovnice2]," má jedno řešení [",resenix," ,",reseniy,"]."],
If[reseni=={},
Print["Soustava rovnic ",TraditionalForm[linrovnice1]," a ",TraditionalForm[linrovnice2]," nemá řešení."],
Print["Soustava rovnic ",TraditionalForm[linrovnice1]," a ",TraditionalForm[linrovnice2]," má nekonečně mnoho řešení ve tvaru [",resenix," ,",reseniy,"]."]]]