2026. június 18., csütörtök

L'Hospital-szabály pythonban.

Pythonban a sympy (szimbolikus matematika) könyvtár segítségével alkalmazzuk a L'Hospital-szabályt.
--------------
from sympy import symbols, Limit, tan, sin

# Szimbólum definiálása
x = symbols('x')

# Példa függvények
f = tan(x) - x
g = x - sin(x)
hely = 0

def l_hospital_vizsgalat(f, g, x, hely):
    print(f"Függvények: f(x) = {f} / g(x) = {g}")
    print(f"Határérték helye: x -> {hely}")
    
    # Eredeti határérték létrehozása
    hatarertek = Limit(f/g, x, hely)
    erteke = hatarertek.doit()
    
    # HIBA JAVÍTÁSA: 
    # A sympy.Limit objektumnak nincs .expr attribútuma. 
    # Használjuk magát a 'hatarertek' objektumot vagy a 'hatarertek.args[0]'-t a belső kifejezéshez.
    print(f"Eredeti határérték: {hatarertek} = {erteke}\n")

    # L'Hospital alkalmazása szemléltetés céljából (0/0 esetén)
    print("L'Hospital-szabály alkalmazása...")
    f_deriv = f.diff(x)
    g_deriv = g.diff(x)
    
    print(f"Új számláló (f'): {f_deriv}")
    print(f"Új nevező (g'): {g_deriv}")
    
    uj_hatarertek = Limit(f_deriv / g_deriv, x, hely)
    uj_erteke = uj_hatarertek.doit()
    
    # Itt is javítva az attribútum hiba
    print(f"Új határérték: {uj_hatarertek} = {uj_erteke}")

# Program futtatása
l_hospital_vizsgalat(f, g, x, hely)
--------------------
Függvények: f(x) = -x + tan(x) / g(x) = x - sin(x)
Határérték helye: x -> 0
Eredeti határérték: Limit((-x + tan(x))/(x - sin(x)), x, 0, dir='+') = 2

L'Hospital-szabály alkalmazása...
Új számláló (f'): tan(x)**2
Új nevező (g'): 1 - cos(x)
Új határérték: Limit(tan(x)**2/(1 - cos(x)), x, 0, dir='+') = 2
-----------------
Futtatás; https://python-fiddle.com/examples/sympy?checkpoint=1781800356

Nincsenek megjegyzések:

Megjegyzés küldése