Pencari Akar Persamaan Kuadrat Python
Selesaikan persamaan kuadrat dan identifikasi akar nyata dan kompleks menggunakan rumus diskriminan dengan Python.
Ikhtisar
Persamaan kuadrat berbentuk ax² + bx + c = 0. Menyelesaikannya memerlukan rumus kuadrat: `x = (-b ± sqrt(b² - 4ac)) / 2a`.
Istilah `b² - 4ac` disebut diskriminan. Jika positif, terdapat dua akar real yang berbeda. Jika nol, satu akar real. Jika negatif, dua akar kompleks.
Modul `cmath` bawaan Python mendukung bilangan kompleks, memungkinkan kita menemukan akar bahkan ketika diskriminannya negatif.
Kode & Output Eksekusi
Pemecah yang tangguh yang mampu menangani diskriminan nyata, nol, dan kompleks.
import cmath
def find_roots(a, b, c):
d = (b**2) - (4*a*c) # discriminant
# Calculate both roots
sol1 = (-b - cmath.sqrt(d)) / (2*a)
sol2 = (-b + cmath.sqrt(d)) / (2*a)
return sol1, sol2
# Test equation: x^2 - 5x + 6 = 0
r1, r2 = find_roots(1, -5, 6)
print("Roots of x^2 - 5x + 6 = 0:")
print(f"Root 1: {r1.real:.1f}")
print(f"Root 2: {r2.real:.1f}")Roots of x^2 - 5x + 6 = 0:
Root 1: 2.0
Root 2: 3.0Implementasi Langkah demi Langkah
- Model fisika dan sistem pelacakan lintasan
- Vektor deteksi tabrakan geometris
- Pemecah matematika
Pertanyaan yang Sering Diajukan
Mengapa menggunakan `cmath` bukannya `math`?
Modul `math` standar akan memunculkan ValueError jika Anda mencoba mengambil akar kuadrat dari bilangan negatif. Modul `cmath` (matematika kompleks) secara otomatis menangani akar imajiner.