bélyegkép|jobbra|200px|Egy másodfokú függvény grafikonja:y = x2 - x - 2 = (x+1)(x-2).Azok a pontok, ahol a grafikon az x-tengelyt metszi, az x = -1 és x = 2, az x2 - x - 2 = 0 másodfokú egyenlet megoldásai.

A matematikában a másodfokú egyenlet egy olyan egyenlet, amely ekvivalens algebrai átalakításokkal olyan egyenlet alakjára hozható, melynek egyik oldalán másodfokú polinom szerepel, tehát az ismeretlen (x) legmagasabb hatványa a négyzet – a másik oldalán nulla (redukált alak). A másodfokú egyenlet általános kanonikus alakja tehát:

Az , és betűket együtthatóknak nevezzük: az együtthatója, az együtthatója, és a konstans együttható.

Megoldása A valós vagy komplex együtthatójú másodfokú egyenletnek két komplex gyöke van, amelyeket általában és jelöl, noha ezek akár egyezőek is lehetnek. A gyökök kiszámítására a másodfokú egyenlet megoldóképletét használjuk.

A másodfokú egyenlet megoldóképletében a gyökjel alatti kifejezést az egyenlet diszkriminánsának nevezzük: .

Ha valós együtthatós az egyenlet, akkor

D > 0 esetén két különböző valós gyöke van, D = 0 esetén két egyenlő (kettős gyöke) van, D < 0 esetén nincs megoldása a valós számok között.

Megoldóképlet levezetése teljes négyzetté alakítással A másodfokú egyenlet megoldóképletét a teljes négyzetté való kiegészítéssel vezethetjük le.

Elosztva a másodfokú egyenletet -val (ami megengedett, mivel ).

ami átrendezve

Az egyenletnek ebben a formájában a bal oldalt teljes négyzetté alakítjuk. Egy konstanst adunk az egyenlőség bal oldalához, amely alakú teljes négyzetté egészíti ki. Mivel ebben az esetben , ezért , így négyzetét adva mindkét oldalhoz azt kapjuk, hogy

A bal oldal most teljes négyzete. A jobb oldalt egyszerű törtként írhatjuk fel, a közös nevező .

Négyzetgyököt vonva mindkét oldalból

Kivonva -t mindkét oldalból megkapjuk a megoldóképletet:

Szélsőérték helye:

Ha a diszkrimináns értéke negatív, a következőképpen kell számolni:

A megoldás ilyenkor egy komplex konjugált gyökpár lesz.

Alternatív módja a megoldóképlet levezetésének Az előző levezetéssel szemben szinte törtmentesen is teljes négyzetté alakíthatunk, ha első lépésben beszorzunk -val. Ekkor a következőképpen járhatunk el:

Végeredményül pedig ugyanúgy eljutunk a közismert képlethez:

Viète-formulák A Viète-formulák egyszerű összefüggések a polinomok gyökei és együtthatói között. A másodfokú egyenlet esetében a következő formájúak:

Kódok HTML(JavaScript) <!-- Ez meg tudja oldani a komplex gyököket is. --> <html> <head> <title>Másodfokú egyenlet megoldó</title> </head> <body> <form id='page' name='page'> <div style="margin: 20px;"> <h1>Másodfokú egyenlet megoldó</h1> <p><input name='a' size=4> * x<sup>2</sup> + <input name='b' size=4> * x + <input name='c' size=4> = 0 <p><input type='button' value='Megold' onclick='root();'></p> <hr> <p>x<sub>1</sub> = <input name='x1' size=16 readonly> + <input name='x1i' size=16 readonly> i</p> <p>x<sub>2</sub> = <input name='x2' size=16 readonly> + <input name='x2i' size=16 readonly> i</p> </div> </form> <script> function root()

a = parseFloat(document.page.a.value); b = parseFloat(document.page.b.value); c = parseFloat(document.page.c.value);

if (a == 0)

alert("Az x^2 együtthatója nem lehet 0.");

else

d = b * b - 4 * a * c;

if (d >= 0)

x1 = ((-b+Math.sqrt(d))/2/a); x2 = ((-b-Math.sqrt(d))/2/a); x1i = x2i = 0;

else

x1 = x2 = (-b/2/a); x1i = (Math.sqrt(-d)/2/a); x2i = (-Math.sqrt(-d)/2/a);

document.page.x1.value = x1; document.page.x2.value = x2; document.page.x1i.value = x1i; document.page.x2i.value = x2i;

</script> </body> </html>

C++ // Ez meg tudja oldani a komplex gyököket is

#include <iostream> #include <cmath>

using namespace std;

int main() {

float a, b, c, x1, x2, d, realPart, imaginaryPart; cout << "Enter coefficients a, b and c: " << endl; cout << "a="; cin >> a; cout << "b="; cin >> b; cout << "c="; cin >> c; d = b * b - 4 * a * c;

if (d > 0) { x1 = (-b + sqrt(d)) / (2 * a); x2 = (-b - sqrt(d)) / (2 * a); cout << "Roots are real and different." << endl; cout << "x1 = " << x1 << endl; cout << "x2 = " << x2 << endl; } else if (d == 0) { cout << "Roots are real and same." << endl; x1 = (-b + sqrt(d)) / (2 * a); cout << "x1 = x2 =" << x1 << endl; } else { realPart = -b / (2 * a); imaginaryPart = sqrt(-d) / (2 * a); cout << "Roots are complex and different." << endl; cout << "x1 = " << realPart << "+" << imaginaryPart << "i" << endl; cout << "x2 = " << realPart << "-" << imaginaryPart << "i" << endl;

return 0; }

Források

További információk A megalázott géniusz, YOUPROOF Online kalkulátor, másodfokú egyenlet Másodfokú egyenlet megoldó és számológép

Kategória:Elemi algebra