Derivaattojen Toteuttaminen Pythonilla
Pythonissa voimme laskea derivaattoja symbolisesti käyttämällä sympy-kirjastoa ja visualisoida niitä matplotlib-kirjastolla.
1. Derivaattojen laskeminen symbolisesti
# Define symbolic variable x
x = sp.symbols('x')
# Define the functions
f1 = sp.exp(x)
f2 = 1 / (1 + sp.exp(-x))
# Compute derivatives symbolically
df1 = sp.diff(f1, x)
df2 = sp.diff(f2, x)
Selitys:
- Määritellään
xsymboliseksi muuttujaksi käyttämälläsp.symbols('x'); - Funktio
sp.diff(f, x)laskee funktionfderivaatan muuttujanxsuhteen; - Tämä mahdollistaa derivaattojen algebrallisen käsittelyn Pythonissa.
2. Funktioiden ja niiden derivaattojen arviointi ja piirtäminen
# Convert symbolic functions to numerical functions for plotting
f1_lambda = sp.lambdify(x, f1, 'numpy')
df1_lambda = sp.lambdify(x, df1, 'numpy')
f2_lambda = sp.lambdify(x, f2, 'numpy')
df2_lambda = sp.lambdify(x, df2, 'numpy')
Selitys:
sp.lambdify(x, f, 'numpy')muuntaa symbolisen funktion numeeriseksi funktioksi, jota voidaan arvioidanumpy-kirjastolla;- Tämä on tarpeen, koska
matplotlibjanumpytoimivat numeerisilla taulukoilla, eivät symbolisilla lausekkeilla.
3. Derivaattojen arvioiden tulostaminen avainpisteissä
Laskujen tarkistamiseksi tulostetaan derivaattojen arvot kohdissa x = [-5, 0, 5].
# Evaluate derivatives at key points
test_points = [-5, 0, 5]
for x_val in test_points:
print(f"x = {x_val}: e^x = {f2_lambda(x_val):.4f}, e^x' = {df2_lambda(x_val):.4f}")
print(f"x = {x_val}: sigmoid(x) = {f4_lambda(x_val):.4f}, sigmoid'(x) = {df4_lambda(x_val):.4f}")
print("-" * 50)
1. Miksi käytämme sp.lambdify(x, f, 'numpy') derivaattojen piirtämisessä?
2. Kun vertaillaan funktioiden f(x)=ex ja sen derivaatan kuvaajia, mikä seuraavista pitää paikkansa?
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 3. Luku 4
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 1.96
Derivaattojen Toteuttaminen Pythonilla
Pyyhkäise näyttääksesi valikon
Pythonissa voimme laskea derivaattoja symbolisesti käyttämällä sympy-kirjastoa ja visualisoida niitä matplotlib-kirjastolla.
1. Derivaattojen laskeminen symbolisesti
# Define symbolic variable x
x = sp.symbols('x')
# Define the functions
f1 = sp.exp(x)
f2 = 1 / (1 + sp.exp(-x))
# Compute derivatives symbolically
df1 = sp.diff(f1, x)
df2 = sp.diff(f2, x)
Selitys:
- Määritellään
xsymboliseksi muuttujaksi käyttämälläsp.symbols('x'); - Funktio
sp.diff(f, x)laskee funktionfderivaatan muuttujanxsuhteen; - Tämä mahdollistaa derivaattojen algebrallisen käsittelyn Pythonissa.
2. Funktioiden ja niiden derivaattojen arviointi ja piirtäminen
# Convert symbolic functions to numerical functions for plotting
f1_lambda = sp.lambdify(x, f1, 'numpy')
df1_lambda = sp.lambdify(x, df1, 'numpy')
f2_lambda = sp.lambdify(x, f2, 'numpy')
df2_lambda = sp.lambdify(x, df2, 'numpy')
Selitys:
sp.lambdify(x, f, 'numpy')muuntaa symbolisen funktion numeeriseksi funktioksi, jota voidaan arvioidanumpy-kirjastolla;- Tämä on tarpeen, koska
matplotlibjanumpytoimivat numeerisilla taulukoilla, eivät symbolisilla lausekkeilla.
3. Derivaattojen arvioiden tulostaminen avainpisteissä
Laskujen tarkistamiseksi tulostetaan derivaattojen arvot kohdissa x = [-5, 0, 5].
# Evaluate derivatives at key points
test_points = [-5, 0, 5]
for x_val in test_points:
print(f"x = {x_val}: e^x = {f2_lambda(x_val):.4f}, e^x' = {df2_lambda(x_val):.4f}")
print(f"x = {x_val}: sigmoid(x) = {f4_lambda(x_val):.4f}, sigmoid'(x) = {df4_lambda(x_val):.4f}")
print("-" * 50)
1. Miksi käytämme sp.lambdify(x, f, 'numpy') derivaattojen piirtämisessä?
2. Kun vertaillaan funktioiden f(x)=ex ja sen derivaatan kuvaajia, mikä seuraavista pitää paikkansa?
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 3. Luku 4