Come calcolare le derivate su Matlab

In questa guida ti spiego come si calcolano le derivate su Matlab.

Cos'è una derivata? La derivata di una funzione misura il tasso di variazione della funzione in ogni punto del suo dominio. E' utile per capire l'andamento crescente o decrescente, per trovare il massimo e il minimo di una funzione o per risolvere vari problemi di analisi matematica.

La derivata di un polinomio

Per calcolare la derivata di un polinomio puoi usare la funzione polyder()

polyder(y)

Il parametro y della funzione è un array con i coefficienti numerici del polinomio.

Ti faccio un esempio pratico.

Considera questo polinomio

$$ P(x) = 2x^3 + 4x + 3 $$

Definisci un array con i coefficienti numerici del polinomio ordinati per grado

>> P = [2 0 4 3]

Nota. Se non ti è chiaro quest'ultimo passaggio ti consiglio di leggere prima la lezione su come si definisce un polinomio su Matlab.

Ora calcola la derivata del polinomio usando la funzione polyder()

>> polyder(P)

Il risultato è la derivata prima del polinomio.

ans = 6 0 4

Pertanto, la derivata prima del polinomio è

$$ P'(x) = \frac{d \ P(x)}{dx} = 6x^2 + 4 $$

Verifica. Il polinomio è composto dalla somma di monomi. Quindi per calcolare la derivata del polinomio ti basta calcolare la somma delle derivate prime dei singoli monomi. $$ P'(x) = \frac{d \ ( 2x^3 + 4x + 3)}{dx} = \frac{ d \ 2x^3}{dx} + \frac{d \ 4x}{dx} + \frac{d \ 3}{dx} = 6x^2 + 4 + 0 $$

E per calcolare la derivata seconda?

Per calcolare la derivata seconda del polinomio puoi iterare più volte la funzione polyder sul risultato

>> d1=polyder(P);
>> d2=polyder(d1)

In alternativa, puoi creare una funzione composta

>> polyder(polyder(P))

In entrambi i casi il risultato finale è la derivata seconda del polinomio

ans = 12 0

La derivata seconda del polinomio è

$$ P''(x) = 12x $$

Con la stessa tecnica puoi calcolare la derivata terza, la derivata quarta o la derivata ennesima del polinomio.

La derivata di una funzione

Per calcolare la derivata di una funzione con una o più incognite usa la funzione diff()

diff(funzione, variabile, grado)

La funzione diff() ha tre parametri

  • Il primo parametro è l'espressione della funzione
  • Il secondo parametro è la variabile che vuoi derivare (es. x, y, ecc. )
  • Il terzo parametro è il grado di derivazione (derivata prima, seconda, terza, …).

Nota. Il secondo e il terzo parametro sono facoltativi. Se non indichi la lettera di derivazione nel secondo parametro, la funzione diff() considera di default il simbolo della variabile x. Se non indichi il grado di derivazione, la funzione diff() calcola di default la derivata prima. La funzione diff() si basa sul calcolo simbolico. Quindi, devi prima definire le incognite come simboli tramite l'istruzione syms.

Ti faccio un esempio pratico

Considera la funzione x3+x2+x con una variabile incognita

$$ f(x) = x^3 + x^2 + x $$

Definisci il simbolo della variabile x

syms x

Per calcolare la derivata prima della funzione digita

diff(x^3+x^2+x,x,1)

La funzione ha tre parametri

  • Il primo parametro (x^3+x^2+x) è l'espressione della funzione.
  • Il secondo parametro (x) è la variabile di derivazione.
  • Il terzo parametro (1) è il grado di derivazione

Nota. Nell'espressione della funzione l'operatore di elevazione a potenza è ^

La funzione diff() calcola la derivata prima della funzione rispetto alla variabile x.

ans =

3*x^2 + 2*x + 1

Pertanto la derivata prima della funzione è

$$ f'(x) = 3x^2 +2x+1 $$

Ora calcola la derivata seconda della stessa funzione.

Per farlo ti basta indicare 2 nell'ultimo parametro della funzione diff()

diff(x^3+x^2+x,x,2)

Il risultato è la derivata seconda della funzione.

ans =

6*x + 2

Pertanto la derivata seconda della funzione è

$$ f''(x) = 6x +2 $$

Ora calcola la derivata terza

Digita la stessa funzione diff() modificando l’ultimo parametro a 3.

diff(x^3+x^2+x,x,3)

Il risultato è la derivata terza della funzione.

ans =

6

Pertanto la derivata terza della funzione è

$$ f^{(3)}(x) = 6x +2 $$

Le derivate parziali

Matlab ti permette di calcolare anche le derivate parziali di una funzione

Cos'è una derivata parziale? Una derivata parziale è una derivata di una funzione con due o di più variabili rispetto ad una sola delle sue variabili mantenendo le altre costanti.

Ad esempio, considera questa funzione con due variabili

$$ f(x,y) = x^2 y^2 $$

Definisci i simboli di entrambe le variabili indipendenti x e y

syms x y

Ora calcola la derivata prima parziale della funzione x2y2 rispetto alla variabile x

diff(x^2*y^2,x,1)

Il risultato è la derivata parziale prima della funzione.

ans

2*x*y^2

Pertanto, la derivata parziale prima della funzione rispetto alla variabile x è

$$ \frac{\partial \ f(x,y)}{\partial x} = 2xy^2 $$

Ora calcola la derivata parziale prima della funzione x2y2 rispetto alla variabile y

diff(x^2*y^2,y,1)

Il risultato è la derivata parziale prima della funzione.

ans

2*x^2*y

Pertanto, la derivata parziale prima della funzione rispetto alla variabile y è

$$ \frac{\partial \ f(x,y)}{ \partial y} = 2x^2y $$

In questo modo puoi calcolare su Matlab le derivate parziali di qualsiasi funzione con due o più variabili.




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin