Kvadratická rovnice
Kvadratická rovnice o jedné neznámé je algebraická rovnice druhého řádu ve tvaru , kde a, b, c jsou reálné koeficienty. Kvadratická rovnice má v oboru reálných čísel 0, 1 nebo 2 řešení. Za předpokladu, že je koeficient a nulový, hovoříme o lineární rovnici.
Kvadratická funkce je vždy popsána parabolou. Za předpokladu, že je a kladné, pak je parabola konvexní, v opačném případě je konkávní.
Řešení
Nejprve spočítáme diskriminant, dle vzorce
Pokud je diskriminant záporný, pak rovnice nemá řešení v oboru reálných čísel.
Pokud je diskriminant nulový, pak má rovnice právě jedno dvojnásobné řešení:
Pokud je diskriminant kladný, pak má rovnice dvě různá řešení:
Příklad
Zjistěte kořeny rovnice .
Nejprve vypočítáme diskriminant:
Diskriminant je kladný, rovnice má dvě řešení v oboru reálných čísel.
Kód
/**
* Resi kvadratickou rovnici o jedne nezname ve tvaru
* ax^2 + bx + c = 0
* @param a
* @param b
* @param c
* @return pole realnych korenu, null - pokud nema rovnice reseni v oboru
* realnych cisel
*/
public static double[] solveQuadraticEquation(double a, double b, double c) {
double d = b*b - 4*a*c; //diskriminant
if(d < 0) {
return null;
} else if (d == 0) {
double[] result = {-b/2*a};
return result;
} else {
double[] result = {(-b + Math.sqrt(d))/(2*a), (-b - Math.sqrt(d))/(2*a)};
return result;
}
}
/**
* Resi kvadratickou rovnici o jedne nezname ve tvaru
* ax^2 + bx + c = 0
* @param a
* @param b
* @param c
* @return pole realnych korenu, null - pokud nema rovnice reseni v oboru
* realnych cisel
*/
public static double[] SolveQuadraticEquation(double a, double b, double c)
{
double d = b * b - 4 * a * c; //diskriminant
if (d < 0)
{
return null;
}
else if (d == 0)
{
double[] result = { -b / 2 * a };
return result;
}
else
{
double[] result = { (-b + Math.Sqrt(d)) / (2 * a), (-b - Math.Sqrt(d)) / (2 * a) };
return result;
}
}
/**
* Kvadraticka rovnice o jedne nezname ve tvaru ax^2 + bx + c = 0
* @param $a
* @param $b
* @param $c
* @return pole realnych korenu, NULL - pokud nema rovnice reseni v oboru realnych cisel
* @author Thomas (www.adamjak.net)
*/
function solve_quadratic_equation($a, $b, $c){
$d = $b*$b - 4*$a*$c; //diskriminant
if($d < 0) {
return NULL;
} else if ($d == 0){
$result = (-$b/2*$a);
return $result;
} else {
$result = ((-$b + sqrt($d))/(2*$a) . (-$b - sqrt($d))/(2*$a));
return $result;
}
}
| Tweet | ||


