≡ Menu

Calcolo e Visualizzazione di Derivate: Un Approccio Integrato Usando Python

This article melds symbolic math and data visualization to make the complex subject of derivatives more approachable. Leveraging Python’s SymPy for analytical solutions and Matplotlib for graphical insights, this comprehensive guide offers a dual lens on calculus. Step-by-step coding walkthroughs demystify the underlying calculations, while plots vividly illustrate how derivatives function as slopes of tangent lines. Tailored for learners, educators, and tech-savvy professionals, this article bridges analytical rigor with visual intuition in the world of calculus.


Il seguente codice Python è stato sviluppato per calcolare e visualizzare la derivata di una funzione data in un punto specifico. L’obiettivo è sia di fornire un approccio computazionale alla derivazione, sia di mostrare graficamente come la derivata rappresenti la pendenza della retta tangente al grafico della funzione in quel punto.

Per farlo, il codice utilizza la libreria SymPy per calcolare l’espressione della derivata e la libreria Matplotlib per la rappresentazione grafica.

# Importiamo le librerie necessarie
import sympy as sym
import numpy as np
import matplotlib.pyplot as plt

# Definiamo una variabile simbolica 'x'
x = sym.Symbol('x')

# Definiamo la funzione da derivare
func = x**3 + 3*x - 2

# Calcoliamo la derivata della funzione
# Due metodi sono utilizzati qui per dimostrazione. Entrambi danno lo stesso risultato.
derivative_expr = sym.Derivative(func, x).doit()  # Metodo 1
derivative_func = func.diff(x)  # Metodo 2

# Convertiamo le espressioni simboliche in funzioni utilizzabili
expr = sym.lambdify(x, func)
expr_der = sym.lambdify(x, derivative_func)

# Visualizziamo il valore della funzione e della sua derivata in un punto specifico (x = 5)
print(f"Valore della funzione in x=5: {expr(5)}")
print(f"Derivata della funzione in x=5: {expr_der(5)}")

# Creiamo una gamma di valori per 'x' per il grafico
values = np.linspace(-10, 10, 100)

# Tracciamo la funzione originale
plt.plot(values, expr(values), label='Funzione Originale')

# Selezioniamo un punto specifico (x = -5) per tracciare la retta tangente
x1 = -5
y1 = expr(x1)

# Definiamo la gamma di valori per 'x' intorno a x1 per la retta tangente
xrange = np.linspace(x1 - 5, x1 + 5, 10)

# Definiamo l'equazione della retta tangente
def line(x, x1, y1): return expr_der(x1) * (x - x1) + y1

# Tracciamo la retta tangente e il punto in cui tocca la curva
plt.plot(xrange, line(xrange, x1, y1), '--', label='Retta Tangente')
plt.scatter(x1, y1, s=50, c='red', label='Punto di Tangenza')

# Aggiungiamo le etichette e mostrare il grafico
plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.title('Visualizzazione della Derivata')
plt.grid(True)
plt.show()

Spiegazione del codice

  1. Import delle librerie: Importiamo SymPy per calcoli simbolici, Numpy per manipolazioni numeriche e Matplotlib per il grafico.
  2. Definizione della variabile e della funzione: Usiamo SymPy per definire una variabile simbolica (x) e una funzione \(f(x) = x^3 + 3x – 2\).
  3. Calcolo della derivata: Utilizziamo SymPy per trovare la derivata \(f'(x)\) della funzione \(f(x)\).
  4. Lambdify: Convertiamo le espressioni simboliche in funzioni Python utilizzabili, in modo da poterle valutare numericamente.
  5. Valutazione in un punto: Valutiamo \(f(x)\) e \(f'(x)\) in \(x = 5\) come esempio.
  6. Creazione della gamma di valori: Usiamo Numpy per creare un array di valori di \(x\) da \(-10\) a \(10\).
  7. Grafico della funzione: Utilizziamo Matplotlib per tracciare \(f(x)\).
  8. Retta Tangente: Calcoliamo e tracciamo la retta tangente alla funzione \(f(x)\) in \(x = -5\).
  9. Visualizzazione: Infine, visualizziamo il grafico completo con la funzione originale, la retta tangente e il punto di tangenza.

Con questo codice, non solo otteniamo una comprensione analitica della derivata, ma anche una rappresentazione grafica che aiuta a visualizzare il concetto geometrico dietro la derivata.

{ 0 comments… add one }

Rispondi