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
x
symboliseksi muuttujaksi käyttämälläsp.symbols('x')
; - Funktio
sp.diff(f, x)
laskee funktionf
derivaatan muuttujanx
suhteen; - 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
matplotlib
janumpy
toimivat 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?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain the difference between symbolic and numerical differentiation?
How does the derivative of the sigmoid function behave at different x values?
Can you summarize the key points from the video explanation?
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
x
symboliseksi muuttujaksi käyttämälläsp.symbols('x')
; - Funktio
sp.diff(f, x)
laskee funktionf
derivaatan muuttujanx
suhteen; - 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
matplotlib
janumpy
toimivat 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?
Kiitos palautteestasi!