Riešenie rovníc a sústav

JupyterLab
Sympy
Rovnice
Sústavy rovníc
Autor

Jakub Šperka

Publikované

18. septembra 2025

🧩 Úvod

V tejto kapitole prejdeme spôsoby riešenia jednoduchých rovníc a sústav v SymPy:


🟰 Definovanie rovnice

Kód
import sympy as sp
Kód
x, y = sp.symbols('x y')
rovnica = sp.Eq(2*x + 3, 11)   # 2x + 3 = 11

🆚 solve vs. solveset

  • solve(expr, x) hľadá korene rovnice expr = 0 a vracia zoznam/dict.
  • solveset(expr, x, domain=...) vracia množinu riešení a pracuje lepšie s doménami (ℝ/ℂ).

1️⃣ Riešenie jednoduchých rovníc

Riešenie s výrazom rovným 0

Kód
sp.solve(2*x + 3 - 11, x) # 2x + 3 = 11
[4]
Kód
sp.solveset(2*x + 3 - 11, x) 

\(\displaystyle \left\{4\right\}\)

Riešenie s definovanou rovnicou

Kód
sp.solve(rovnica, x)
[4]
Kód
sp.solveset(rovnica, x)

\(\displaystyle \left\{4\right\}\)


🔡 Riešenie sústav rovníc

Kód
rovnica_1 = sp.Eq(2*x + y, 5)   # 2x + y = 5
rovnica_2 = sp.Eq(-x + 3*y, 1)  # -x + 3y = 1

sp.solve([rovnica_1, rovnica_2], (x, y))   # {x: 2, y: 1}
{x: 2, y: 1}

🧠 Zhrnutie

  • Jedna premenná: preferovaný solveset(expr, x, domain=...) (ℝ/ℂ).
  • Lineárne sústavy: linsolve (vracia množinu riešení, zvláda aj parametre).
  • Nelineárne sústavy: nonlinsolve (symbolicky), nsolve (numericky, potrebuje odhad).
  • Overenie: Eq + substitúcia + simplify().

📚 Oficiálna dokumentácia SymPy

Podrobný popis funkcií, ich parametrov a príkladov použitia nájdete v oficiálnej dokumentácii knižnice SymPy na adrese: https://docs.sympy.org/latest/index.html.


🎞️ Videonávod