Come calcolare la derivata prima, seconda o terza in Python
Nel linguaggio python posso effettuare operazioni di derivazione di una funzione con l'istruzione diff() del modulo sympy.
diff(y,x)
Dove y è la funzione da derivare e x è la variabile di derivazione.
In alternativa, posso ottenere lo stesso risultato anche indicando diff come metodo della variabile
y.diff(x)
In questo caso la variabile di derivazione è l'unico argomento.
Un esempio pratico
Per calcolare la derivata della funzione x3+5 scrivo
import sympy as sp
x = sp.Symbol('x')
y = x**3 + 5
yd = sp.diff(y,x)
Nella prima riga importo il modulo sympy in python.
Nota. Il modulo sympy è una libreria esterna e deve essere già stata installata sull'interprete python tramite il comando PIP. In caso contrario, l'importazione va in errore.
Nella seconda riga definisco la x come un simbolo. E' un'operazione necessaria altrimenti non posso usarla come variabile di derivazione.
Nella terza riga immetto la funzione da derivare ossia x**3+5.
Nota. Il simbolo dell'elevazione a potenza in Python è il doppio asterisco **. Non va confuso con ^. Per ulteriori informazioni sulle operazioni matematiche in python.
Nella quarta riga calcolo la derivata prima della funzione con la funzione diff(y,x)
Nella variabile yd è registrata la derivata prima ossia 3x2
3*x**2
La derivata prima viene salvata sempre in forma simbolica.
Il simbolo * è la moltiplicazione e il simbolo ** l'elevazione a potenza.
Questo mi permette di usare la variabile yd come input della funzione diff() per calcolare la derivata seconda.
E così via.
Come calcolare la derivata seconda e terza
Aggiungendo un'ulteriore variabile di derivazione nella funzione diff posso anche calcolare la derivata seconda della funzione.
yd = sp.diff(y,x,x)
o in alternativa indicando il numero 2 come terzo parametro
yd = sp.diff(y,x,2)
In entrambi i casi il risultato in output è
6*x
Per calcolare la derivata terza
yd = sp.diff(y,x,x,x)
In alternativa, posso anche indicare soltanto il numero 3 come terzo parametro
yd = sp.diff(y,x,3)
In entrambi i casi il risultato in output è
6
E così via.