Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Implementazione delle Derivate in Python | Analisi Matematica
Matematica per la Data Science

bookImplementazione delle Derivate in Python

In Python, è possibile calcolare derivate in modo simbolico utilizzando sympy e visualizzarle tramite matplotlib.

1. Calcolo simbolico delle derivate

# 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)

Spiegazione:

  • Si definisce x come variabile simbolica tramite sp.symbols('x');
  • La funzione sp.diff(f, x) calcola la derivata di f rispetto a x;
  • Questo consente di manipolare le derivate algebricamente in Python.

2. Valutazione e rappresentazione grafica di funzioni e delle loro derivate

# 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')

Spiegazione:

  • sp.lambdify(x, f, 'numpy') converte una funzione simbolica in una funzione numerica che può essere valutata utilizzando numpy;
  • Questo è necessario perché matplotlib e numpy operano su array numerici, non su espressioni simboliche.

3. Stampa delle valutazioni delle derivate in punti chiave

Per verificare i nostri calcoli, stampiamo i valori delle derivate per 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. Perché utilizziamo sp.lambdify(x, f, 'numpy') quando tracciamo i grafici delle derivate?

2. Confrontando i grafici di f(x)=exf(x) = e^x e della sua derivata, quale delle seguenti affermazioni è corretta?

question mark

Perché utilizziamo sp.lambdify(x, f, 'numpy') quando tracciamo i grafici delle derivate?

Select the correct answer

question mark

Confrontando i grafici di f(x)=exf(x) = e^x e della sua derivata, quale delle seguenti affermazioni è corretta?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 1.96

bookImplementazione delle Derivate in Python

Scorri per mostrare il menu

In Python, è possibile calcolare derivate in modo simbolico utilizzando sympy e visualizzarle tramite matplotlib.

1. Calcolo simbolico delle derivate

# 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)

Spiegazione:

  • Si definisce x come variabile simbolica tramite sp.symbols('x');
  • La funzione sp.diff(f, x) calcola la derivata di f rispetto a x;
  • Questo consente di manipolare le derivate algebricamente in Python.

2. Valutazione e rappresentazione grafica di funzioni e delle loro derivate

# 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')

Spiegazione:

  • sp.lambdify(x, f, 'numpy') converte una funzione simbolica in una funzione numerica che può essere valutata utilizzando numpy;
  • Questo è necessario perché matplotlib e numpy operano su array numerici, non su espressioni simboliche.

3. Stampa delle valutazioni delle derivate in punti chiave

Per verificare i nostri calcoli, stampiamo i valori delle derivate per 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. Perché utilizziamo sp.lambdify(x, f, 'numpy') quando tracciamo i grafici delle derivate?

2. Confrontando i grafici di f(x)=exf(x) = e^x e della sua derivata, quale delle seguenti affermazioni è corretta?

question mark

Perché utilizziamo sp.lambdify(x, f, 'numpy') quando tracciamo i grafici delle derivate?

Select the correct answer

question mark

Confrontando i grafici di f(x)=exf(x) = e^x e della sua derivata, quale delle seguenti affermazioni è corretta?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
some-alt