Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Derivaattojen Toteuttaminen Pythonilla | Matemaattinen Analyysi
Matematiikka Data-analytiikkaan

bookDerivaattojen 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 funktion f derivaatan muuttujan x 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 arvioida numpy-kirjastolla;
  • Tämä on tarpeen, koska matplotlib ja numpy 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)=exf(x) = e^x ja sen derivaatan kuvaajia, mikä seuraavista pitää paikkansa?

question mark

Miksi käytämme sp.lambdify(x, f, 'numpy') derivaattojen piirtämisessä?

Select the correct answer

question mark

Kun vertaillaan funktioiden f(x)=exf(x) = e^x ja sen derivaatan kuvaajia, mikä seuraavista pitää paikkansa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 1.96

bookDerivaattojen 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 funktion f derivaatan muuttujan x 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 arvioida numpy-kirjastolla;
  • Tämä on tarpeen, koska matplotlib ja numpy 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)=exf(x) = e^x ja sen derivaatan kuvaajia, mikä seuraavista pitää paikkansa?

question mark

Miksi käytämme sp.lambdify(x, f, 'numpy') derivaattojen piirtämisessä?

Select the correct answer

question mark

Kun vertaillaan funktioiden f(x)=exf(x) = e^x ja sen derivaatan kuvaajia, mikä seuraavista pitää paikkansa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
some-alt