Come disegnare il grafico della derivata di una funzione in Python

Per disegnare il grafico di una funzione derivata in Python, uso i moduli misc di scipy e pylab.

import pylab as py
from scipy import misc, arange

Poi definisco il range della variabile indipendentemente con la funzione arange di scipy.

x = arange(-20, 20, 1)

In questo caso l'intervallo è [-20,20] con incremento uguale a +1.

La funzione arange() crea un oggetto iterabile (array) con gli elementi unitari da -100 a +100 e lo assegna alla variabile x.

>>>x
array([-20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8,
-7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19])

A questo punto definisco la funzione vera e propria f(x) con l'istruzione def.

Per semplicità scelgo la funzione f(x)=x2.

def f(x):
return x**2

Poi calcolo la sua derivata prima f'(x) rispetto alla variabile x tramite la funzione misc.derivative

fd = misc.derivative(f, x)

L'oggetto f(x) e l'oggetto fd sono due array contenenti i dati della funzione e della derivata prima nell'intervallo [-20,20] della x.

Ecco il contenuto dell'oggetto f(x)

>>> f(x)
array([400, 361, 324, 289, 256, 225, 196, 169, 144, 121, 100, 81, 64,
49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25,
36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324,
361], dtype=int32)

e il contenuto dell'oggetto fd

>>> fd
array([-40., -38., -36., -34., -32., -30., -28., -26., -24., -22., -20.,
-18., -16., -14., -12., -10., -8., -6., -4., -2., 0., 2.,
4., 6., 8., 10., 12., 14., 16., 18., 20., 22., 24.,
26., 28., 30., 32., 34., 36., 38.])

Infine creo i dati del grafico con la funzione plot().

Definisco sia i dati di f(x) e sia quelli della derivata f'(x) ossia fd.

In questo modo posso stampare entrambi sullo stesso diagramma cartesiano.

py.plot(x,f(x))
py.plot(x,fd)

Poi stampo a video il grafico con la funzione py.show()

py.show()

Si apre una finestra con la rappresentazione grafica delle due funzioni sul diagramma cartesiano.

la rappresentazione grafica delle due funzioni

Il grafico di colore blu è la funzione f(x)=x2 mentre quello arancione è la funzione derivata f'(x)=2x.

Ho così disegnato un grafico contenente entrambe le funzioni nello stesso grafico.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Analisi matematica con Python