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

Suggested prompts:

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

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