Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
6 Derivazione
Luca Facchini
Introduzione
Le derivate prima
e seconda
Derivata terza
Derivata quarta
1.6 Derivazione Esercizi proposti
Funzioni ricorsive
Derivazione di
polinomi
Luca Facchini La derivata prima
Le derivate
successive
Dipartimento di Ingegneria Civile e Ambientale - DICeA Un algoritmo
Università degli Studi di Firenze generale
luca.facchini@unifi.it Un altro esercizio
Introduzione 1.6 Derivazione
Luca Facchini
Introduzione
Le derivate prima
e seconda
Derivata terza
Come calcolare le derivate Derivata quarta
Il concetto più importante da tenere a mente di tutto quanto esposto Esercizi proposti
nel paragrafo 1.6 dedicato alla derivazione numerica, è come fare per Funzioni ricorsive
Luca Facchini
Introduzione
Le derivate prima
e seconda
Derivata terza
Esercizi proposti
Supponiamo per semplicità che il vettore delle ascisse x sia costituito da
Funzioni ricorsive
punti equidistanti, cioè che xk+1 − xk = δx (costante). Indicando con
Derivazione di
fk = f (xk ), possiamo definire i rapporti incrementali (centrati su xk ) polinomi
La derivata prima
che approssimano le derivate seguenti: Le derivate
successive
fk+1 − fk−1 Un algoritmo
I derivata prima: f 0 (xk ) ≈ ; generale
2 δx Un altro esercizio
fk+1 − 2 fk + fk−1
I derivata seconda: f 00 (xk ) ≈ ;
δx2
Notiamo subito che il rapporto incrementale che approssima la derivata
seconda corrisponde al rapporto incrementale della derivata prima
calcolato sostituendo alla funzione i rapporti che esprimono la derivata
prima. In parole povere, la derivata seconda è la derivata prima della
derivata prima.
Le derivate prima e seconda - 2 1.6 Derivazione
Luca Facchini
Introduzione
Le derivate prima
e seconda
Derivata terza
Derivata quarta
I primi rapporti incrementali (continua)
Esercizi proposti
Derivazione di
polinomi
fk+1 − fk fk − fk−1 La derivata prima
fk+1 − 2 fk + fk−1
f 00 (xk ) ≈
δx2
Da notare che con il simbolo f 0 (xk+1/2 ) si è indicato la derivata prima
della funzione f calcolata per x = xk + δx /2, analogamente per
f 0 (xk−1/2 ).
Le derivate terza e quarta - 1 1.6 Derivazione
Luca Facchini
Introduzione
Le derivate prima
e seconda
La derivata terza Derivata terza
Analogamente, per la derivata terza possiamo calcolare “la derivata Derivata quarta
prima della derivata seconda” o viceversa, “la derivata seconda della Esercizi proposti
derivata prima”, giungendo allo stesso risultato; svolgiamo i calcoli per Funzioni ricorsive
Luca Facchini
Introduzione
Le derivate prima
e seconda
Derivata terza
La derivata quarta
Derivata quarta
Riportiamo infine i calcoli per la derivata quarta, calcolata come “la Esercizi proposti
Derivazione di
polinomi
La derivata prima
f 00 (xk+1 ) − 2 f 00 (xk ) + f 00 (xk−1 )
f 0000 (xk ) ≈ ≈ Le derivate
successive
δx2 Un algoritmo
generale
fk+2 − 2 fk+1 + fk fk+1 − 2 fk + fk−1 fk − 2 fk−1 + fk−2 Un altro esercizio
−2 +
δx2 δx2 δx2
≈
δx2
ottenendo infine
Luca Facchini
Introduzione
Esercizio Le derivate prima
e seconda
Riprendi la function funz.m che calcolava il valore di
Derivata terza
x π x π x
Derivata quarta
f (x) = 4 exp − sin − 2 cos
4 5 10 Esercizi proposti
Scrivi un programma che calcoli le derivate di questa funzione fino alla Funzioni ricorsive
5 5 5 5 10
f 00 (x) =
x
e− 4 h π x π x i
+ 16π 2 − 25 sin
− · 40π cos +
100 5 5
2
π π x
+ cos
50 10
Esercizi proposti 1.6 Derivazione
Luca Facchini
Introduzione
Le derivate prima
Esercizio (continua) e seconda
Derivata terza
Derivata quarta
Esercizi proposti
000
f (x) = Funzioni ricorsive
x
e− 4 h π x π x i Derivazione di
300π − 64 π 3 cos + 240π 2 − 125 sin
+ polinomi
2000 5 5 La derivata prima
3 Le derivate
π π x successive
− sin Un algoritmo
500 10 generale
Un altro esercizio
1280 π 3 − 2000 π − x4 π x
f 0000 (x) = e cos +
40000 5
4 2
256 π − 2400 π + 625 − x4 π x
+ e sin +
40000 5
4
π π x
− cos
5000 10
Il calcolo ricorsivo delle derivate successive alla seconda - 1 1.6 Derivazione
Luca Facchini
Luca Facchini
Quindi, il calcolo della derivata N -esima implica il calcolo della derivata Le derivate prima
e seconda
(N − 1)-esima e così via; questo suggerisce di definire una function per Derivata terza
il calcolo della derivata N -esima che richiama se stessa per il calcolo Derivata quarta
della derivata (N − 1)-esima in questo modo: Esercizi proposti
Funzioni ricorsive
function y = deriv(x,N);
Derivazione di
dx = 0.01; polinomi
if N == 1, La derivata prima
Le derivate
y = (funz(x+dx) - funz(x-dx))/2.0/dx; successive
Un algoritmo
elseif N == 2, generale
Un altro esercizio
y = (funz(x+dx) - 2.0 * funz(x) + funz(x-dx))/dx^2;
else
y = (deriv(x+dx,N-1) - deriv(x-dx,N-1))/2.0/dx;
end
end
Luca Facchini
Introduzione
Un modo alternativo per calcolare la derivata
Le derivate prima
e seconda
Un’altra considerazione molto importante è che la derivata è un
Derivata terza
operatore lineare (vedi il primo paragrafo delle dispense). Quando
Derivata quarta
siamo in grado di definire una base per lo spazio delle funzioni in cui
Esercizi proposti
operiamo, la derivata (come tutti gli operatori lineari) ammette una
Funzioni ricorsive
rappresentazione matriciale.
Derivazione di
Per fissare le idee, il polinomio polinomi
La derivata prima
3 2 Le derivate
p(x) = 2 x + 3 x + x − 1 successive
Un algoritmo
t generale
può essere rappresentato dal vettore −1 1 3 2 quando si Un altro esercizio
Luca Facchini
Le derivate prima
Se mettiamo tutti questi vettori che abbiamo trovato nelle colonne di e seconda
Esercizi proposti
0 1 0 0 Funzioni ricorsive
0 0 2 0
D= Derivazione di
0 0 0 3 polinomi
La derivata prima
0 0 0 0 Le derivate
successive
Un algoritmo
Guarda caso, se utilizziamo la rappresentazione vettoriale (chiamiamola generale
t Un altro esercizio
p) del “nostro” polinomio, cioè p = −1 1 3 2 e la
moltiplichiamo per la matrice D otteniamo
0 1 0 0 −1 1
(1)
0 0 2 0 1 6
p = Dp = =
0 0 0 3 3 6
0 0 0 0 2 0
Luca Facchini
Introduzione
La derivata della derivata. . . Le derivate prima
e seconda
La derivata seconda può essere considerata, come abbiamo detto più
Derivata terza
volte, la derivata della derivata, quindi possiamo dire che la
Derivata quarta
rappresentazione vettoriale della derivata seconda è ottenibile come
Esercizi proposti
0 1 0 0 1 6 Funzioni ricorsive
(2) (1)
0 0 2 0 6 12 Derivazione di
p = Dp = = polinomi
0 0 0 3 6 0 La derivata prima
0 0 0 0 0 0 Le derivate
successive
Un algoritmo
generale
cioè il polinomio p2 (x) = 6 + 12 x che è la derivata seconda di p(x). Un altro esercizio
e così via. . .
Un algoritmo generale 1.6 Derivazione
Luca Facchini
Luca Facchini
Introduzione
Esercizio
Le derivate prima
e seconda
Riprendi il programma che interpolava le coppie di dati
Derivata terza
Derivata quarta
k xk yk
Esercizi proposti
1 0.50 -0.6916 Funzioni ricorsive
2 1.00 -0.6689 Derivazione di
polinomi
3 1.50 -0.5777 La derivata prima
4 2.00 -0.3785 Le derivate
successive
5 2.50 -0.0948 Un algoritmo
generale
6 3.00 0.1890 Un altro esercizio
7 3.50 0.3762
8 4.00 0.3769
9 4.50 0.1002
10 5.00 -0.4674
Luca Facchini
Un esempio di programma
Introduzione
Le derivate prima
clear all e seconda
close all Derivata terza
clc Derivata quarta
%% Esercizi proposti
dati = [0.50 -0.6916 Funzioni ricorsive
1.00 -0.6689 Derivazione di
polinomi
1.50 -0.5777 La derivata prima
2.00 -0.3785 Le derivate
successive
2.50 -0.0948 Un algoritmo
generale
3.00 0.1890 Un altro esercizio
3.50 0.3762
4.00 0.3769
4.50 0.1002
5.00 -0.4674];
%%
x = dati(:,1); % estrae la prima colonna della mtrice "dati"
y = dati(:,2); % estrae la seconda colonna della mtrice "dati"
plot(x,y,’o’);grid
xlabel(’MISURE X’); ylabel(’MISURE Y’);
La derivata del polinomio interpolante - 3 1.6 Derivazione
Luca Facchini
Introduzione
Le derivate prima
e seconda
Un esempio di programma (continua) Derivata terza
Derivata quarta
%% Esercizi proposti
end
a = V\y; a0 = a(length(a):-1:1); % calcola i coefficienti del polinomio
xx = linspace(0.5,5,100); % insieme dei punti di calcolo
yy0 = polyval(a0,xx); % valori del polinomio interpolante
figure(2);
plot(xx,yy0,x,y,’ro’);grid
legend(’polinomio interpolante’,’dati iniziali’,2);
La derivata del polinomio interpolante - 4 1.6 Derivazione
Luca Facchini
Introduzione
Un esempio di programma (continua)
Le derivate prima
e seconda
%% Derivata terza
% D1 = [0 1 0 0 0 0 0 0 0 0 Derivazione di
polinomi
% 0 0 2 0 0 0 0 0 0 0 La derivata prima
Le derivate
% 0 0 0 3 0 0 0 0 0 0 successive
% 0 0 0 0 4 0 0 0 0 0 Un algoritmo
generale
% 0 0 0 0 0 5 0 0 0 0 Un altro esercizio
% 0 0 0 0 0 0 6 0 0 0
% 0 0 0 0 0 0 0 7 0 0
% 0 0 0 0 0 0 0 0 8 0
% 0 0 0 0 0 0 0 0 0 9
% 0 0 0 0 0 0 0 0 0 0];
D2 = D1*D1; % operatore derivata seconda
D3 = D1*D2; % operatore derivata terza
D4 = D2*D2; % operatore derivata quarta
La derivata del polinomio interpolante - 5 1.6 Derivazione
Luca Facchini
Introduzione
Le derivate prima
e seconda
Derivata terza
Derivata quarta
Esercizi proposti
Funzioni ricorsive
Un esempio di programma (continua) Derivazione di
polinomi
La derivata prima
Le derivate
a1 = D1*a; a1 = a1(length(a1):-1:1); % coeff. der. prima successive
a2 = D2*a; a2 = a2(length(a2):-1:1); % coeff. der. seconda Un algoritmo
generale
a3 = D3*a; a3 = a3(length(a3):-1:1); % coeff. der. terza Un altro esercizio
Luca Facchini
Introduzione
Le derivate prima
e seconda
Derivata terza
Un esempio di programma (continua) Derivata quarta
Esercizi proposti
%% Funzioni ricorsive
figure(3) Derivazione di
polinomi
plot(x,y,’ro’,xx,yy0,... La derivata prima
xx,yp1,... Le derivate
successive
xx,yp2,... Un algoritmo
generale
xx,yp3,... Un altro esercizio
xx,yp4);grid
legend(’Dati’,’Polinomio’,...
’Derivata prima’,...
’Derivata seconda’,...
’Derivata terza’,...
’Derivata quarta’)
axis([0.5 5 -2 2])
La derivata del polinomio interpolante - 7 1.6 Derivazione
Introduzione
Le derivate prima
e seconda
Derivata terza
Derivata quarta
Esercizi proposti
Funzioni ricorsive
Derivazione di
polinomi
La derivata prima
Le derivate
successive
Un algoritmo
generale
Un altro esercizio