Derivazione numerica 1

Documenti analoghi
Corso di Analisi Numerica

Interpolazione polinomiale

Corso di Calcolo Numerico

Metodi iterativi per equazioni nonlineari.

Corso di Calcolo Numerico

Serie di funzioni. Hynek Kovarik. Analisi Matematica 2. Università di Brescia

Approssimazione polinomiale 1

Serie di Taylor. Hynek Kovarik. Analisi Matematica 2. Università di Brescia

Corso di Analisi Numerica

Metodi di Iterazione Funzionale

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Successioni di funzioni: esercizi svolti

Alcuni Teoremi sulle funzioni continue e uniforme continuità

Serie di Fourier Richiami di teoria. Funzioni periodiche. Ci poniamo il problema dello sviluppo in serie di Fourier per funzioni f 1 : R R

Quadratura numerica. Alvise Sommariva. Università degli Studi di Padova Dipartimento di Matematica. 25 maggio 2015

Interpolazione polinomiale

Corso di Analisi Matematica. Polinomi e serie di Taylor

Approssimazione e interpolazione con polinomi algebrici

tale differenza, detta resto di Lagrange è la seguente:

Lezione 5 (9/10/2014)

Un intervallo di numeri reali è un sottoinsieme I R tale che. è l estremità superiore. Si vede facilmente che I contiene x R ; a(i) < x < b(i)

5.3 Alcune classi di funzioni integrabili

DERIVATA DI UNA FUNZIONE REALE. In quanto segue denoteremo con I un intervallo di IR e con f una funzione di I in IR.

Dimostrazione. Indichiamo con α e β (finiti o infiniti) gli estremi dell intervallo I. Poniamo

Approssimazione e interpolazione con polinomi algebrici

Corso di Calcolo Numerico

Principali differenze tra la ristampa 2014 e l edizione 2008

Equazioni non lineari: esempi. Risoluzione f (x) = 0 con x [a,b] R, f C([a,b]).

2. Costruire un M function file di Matlab che calcola il valore del

Analisi di Fourier e alcune equazioni della fisica matematica 1. TERZA LEZIONE Serie di funzioni Serie di potenze

Sviluppo di Taylor. Continuando analogamente, otteniamo

Analisi Numerica. Francesca Mazzia. a.a. 2006/2007. Integrazione. Dipartimento di Matematica. Università di Bari

f(x) dx = F (b) F (a) Formula di quadratura o di integrazione numerica c i f(x i ) + R n (f)

Matematica e Statistica per Scienze Ambientali

Corso di Calcolo Numerico

Analisi vettoriale - A.A. 2003/04

ANALISI VETTORIALE COMPITO IN CLASSE DEL 8/11/2013

Esonero di Analisi Matematica II (A)

1 Successioni di funzioni

Università degli Studi di Verona

f n (x) 3 1. x Essendo g(x) = 3 1

Il Metodo di Newton, o delle Tangenti Federico Lastaria, Analisi e Geometria 1. Politecnico di Milano Corso di Analisi e Geometria 1

ANALISI 1 1 SEDICESIMA - DICIASETTESIMA LEZIONE Serie

Scrivere lo sviluppo di Mac Laurin di ordine 3 di una generica funzione f(x), e dire quali ipotesi si devono fare su f(x) per poterlo scrivere.

Corso di Laurea in Matematica Applicata PROVA DI ANALISI MATEMATICA 1 Mod. 1-1/12/2014 Tipologia A

Lezione 4 Quadratura Numerica. Fernando Palombo

Analisi Matematica 1 Trentaquattresma lezione. Serie

E, la successione di numeri {f n (x 0. n f n(x) (15.1)

Un paio di esempi su serie e successioni di funzioni

2) Scrivere la soluzione generale del seguente sistema di equazioni differenziali lineari del primo ordine. y 1 = 2y 1 5y 3 y 2

Alcuni esperimenti in Matlab relativi alla teoria degli errori (corso di Ingegneria dell Energia) 1

Continuità di funzioni

Integrazione numerica

Analisi Matematica 2 - A

SUCCESSIONI E SERIE NUMERICHE E DI FUNZIONI

Esistenza ed unicità per equazioni differenziali

Corso di Analisi Numerica

Lezione 7 Equazioni Differenziali Ordinarie.

Lezione 3 Interpolazione Polinomiale.

Analisi Matematica I modulo Soluzioni prova scritta preliminare n. 2

PROVA SCRITTA ANALISI II

Soluzioni del Foglio 6

1 + q + q = A 3. 2 ) = 5, Aq = 3 3 Dalla seconda equazione ricaviamo che A/3 = 1/q e sostituendo nella prima otteniamo. 1 q (1 + q + q2 ) = 5,

Analisi degli errori

Analisi Matematica 3/Analisi 4 - SOLUZIONI (20/01/2016)

Politecnico di Milano Corso di Analisi e Geometria 1. Federico Lastaria Formule di Taylor Ottobre 2012

Lezioni sulla formula di Taylor.

Funzione derivabile. La derivata.

Correzione del terzo compitino di Analisi 1 e 2 A.A. 2014/2015

Tempo a disposizione: 120 minuti. Svolgere tre dei quattro esercizi proposti. 1 Studiare, al variare del parametro reale k 0, l insieme numerico

Laboratorio di Calcolo Numerico - Corso di Laurea in Matematica Appello d esame del 12/07/2012

Analisi degli Errori

Complementi di Matematica e Calcolo Numerico A.A

Serie numeriche. Riccarda Rossi. Analisi I. Università di Brescia

Interpolazione e approssimazione di funzioni

Polinomio di Taylor.

COMPLEMENTI DI ANALISI MATEMATICA DI BASE. Prova scritta del 26 gennaio 2005

ANALISI 1 - Teoremi e dimostrazioni vari

Sappiamo che una funzione definita in un intervallo aperto I ed ivi derivabile è anche differenziabile, ossia che, fissato x 0 I, si ha.

1 Successioni di funzioni

STUDIO di FUNZIONE. c Paola Gervasio - Analisi Matematica 1 - A.A. 2018/19 Studio di funzione cap6b.pdf 1

f(x) := lim f n (x) Se introduciamo la norma uniforme di una funzione f (sull insieme A) mediante := sup f(x)

Calcolo Numerico A.A Lab. 6

Istituzioni di Matematiche quarta parte

Buona posizione. L esempio di derivazione e integrazione.

Università degli Studi di Verona

BOZZA :26

Successioni e serie di funzioni / Esercizi svolti

Approssimazione di funzione continue con polinomi: i polinomi di Bernstein ed il Teorema di Stone-Weierstrass

Daniela Lera A.A

Analisi Matematica 1 Secondo appello

Alcuni esperimenti in Matlab relativi alla teoria degli errori

Laboratorio 3. Integrazione numerica

Esercitazione 7: Aggiornamento minimi quadrati.

Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni

1 Teorema di Bolzano. Definition 1 Sia A un insieme limitato. scriveremo e = sup A, se:

Metodi numerici per ODE. Metodi numerici per ODE

Transcript:

Derivazione numerica 1 A Sommariva Keywords: Derivazione numerica Differenza in avanti Rapporto incrementale simmetrico Estrapolazione Revisione: 5 giugno 019 1 Il problema della derivazione numerica Problema 11 (Derivazione numerica) Il problema della derivazione numerica consiste nell approssimare la derivata di una funzione f in un certo punto x 0, ovvero (qualora esista) f (x 0 ) = Df(x 0 ) = lim x x 0 f(x) f(x 0 ) x x 0 (1) Si potrebbe approssimare f con una successione di funzioni f n facili da derivare e poi differenziare f n, valutandola nel punto x 0 Purtroppo, dist(f n, f) 0 dist(df n, Df) 0, n + ce si può pure leggere come esistono f e f n arbitrariamente vicine, ma con derivate f e f n arbitrariamente distanti, fenomeno noto come instabilità dell operatore di derivazione (nel continuo) Quale esempio, consideriamo la successione f n (x) = 1 sin(nx), x [0, 1] () n Osserviamo ce essendo sin(x) [ 1, 1] qualora x [0, 1] abbiamo 1 n f n(x) = 1 n sin(nx) 1 n e sicuramente, detta f la funzione costantemente nulla abbiamo f n puntualmente ma ance uniformemente visto ce max 1 x [0,1] n sin(nx) 0 1 n 0 Osserviamo ce f non solo 1

la derivata di f è la funzione costantemente nulla, la derivata di f n è f n(x) = cos(nx) Questo implica ce ma non è vero ce in quanto non è infinitesima f n f, f n f, uniformemente uniformemente max cos(nx) 0 = max cos(nx) x [a,b] x [a,b] Commento 1 Questo non vuol dire ce se f e f n arbitrariamente vicine allora le derivate f e f n sono arbitrariamente distanti, e quindi possiamo sperare ce sotto certe ipotesi su f, se f n sono scelte bene e sono vicine a f, allora pure f n e f sono vicine Ad esempio, se (a, b) è un intervallo limitato e s 3, n è un interpolante spline cubica di f C 4 (a, b), nei nodi determinati dalla suddivisione n = {x k } con x k = a + k(b a)/n, k = 0,, n, ovvero punti equispaziati con passo n = (b a)/n, la successione di splines cubice {s 3, n } n converge a f uniformemente, {s 3, n } n converge a f uniformemente In effetti, esiste una costante c 1 tale ce 0 max f (x) s 3, x [a,b] n (x) c 1 3 n max f (4) (b a) 3 (x) = c 1 x [a,b] n 3 max f (4) (x) x [a,b] e quindi per quanto visto precedentemente e per il teorema del confronto, deduciamo la convergenza uniforme Sia f una funzione derivabile nell intervallo [a, b] e consideriamo il rapporto incrementale δ + (f, ), detto tecnicamente differenza in avanti, di una funzione f almeno derivabile, ovvero per un fissato > 0, e supposto x, x + [a, b], δ + (f, x, ) := f(x + ) f(x) (3) (cf []) In particolare, se f C ([a, b]) e x [a, b] allora, dalla formula di Taylor, f(x + ) = f(x) + f (x) + f (ξ x )/, ξ x (x, x + ) per cui riarrangiando i termini

δ + (f, x, ) = f (x) + f (ξ x )/, ξ x (x, x + ) Per il teorema di Weierstrass, essendo f C([a, b]) e C([a, b]), esiste finito e quindi, essendo ricaviamo ce se x + [a, b] allora M = max x [a,b] f (x) / 0 δ + (f, x, ) f (x) = f (ξ x ) 0 δ + (f, x, ) f (x) f (ξ x ) M (4) per cui, per il teorema del confronto, se 0 allora δ + (f, x, ) f (x) 0 In altri termini, ci verrebbe da credere ce utilizzando passi sempre più piccoli abbiamo approssimazioni sempre migliori della derivata prima, in un punto arbitrario dell intervallo [a, b] Numericamente, le cose vanno in modo diverso La funzione f non viene sempre valutata esattamente, ed ogni volta calcoliamo invece di δ + (f, x, ) = un rapporto incrementale perturbato f(x + ) f(x), δ + (f, x, ) = f(x + ) f(x) e abbiamo, sottraendo e aggiungendo δ + (f, x, ), f (x) δ + (f, x, ) = (f (x) δ + (f, x, )) + (δ + (f, x, ) δ + (f, x, )) f (x) δ + (f, x, ) + δ + (f, x, ) δ + (f, x, ) Osserviamo ce se ɛ è il massimo errore compiuto nel valutare la funzione δ + (f, x, ) δ f(x + ) f(x) + (f, x, ) = f(x + ) f(x) f(x + ) = f(x + ) f(x) f(x) f(x + ) f(x + ) + f(x) f(x) ɛ Ricordiamo ce f (x) δ + (f, x, ) f (x) δ + (f, x, ) + δ + (f, x, ) δ + (f, x, ) 3

Se M = max x [a,b] f (x), x+ [a, b], allora δ + (f, x, ) f (x) M Di conseguenza f (x) δ + (f, x, ) f (x) δ + (f, x, ) + δ + (f, x, ) δ + (f, x, ) M + ɛ (5) Commento 13 Il fatto ce f (x) δ + (f, x, ) M + ɛ dice ce numericamente, se 0 può accadere ce fino ad un certo 0 otteniamo approssimazioni della derivata in x sempre migliori, ma poi diventando per piccolo rilevante la quantità ɛ, i risultati cominciano a peggiorare Siccome l analisi viene fatta per 0, e l unica riciesta è ce sia x +, x [a, b], generalmente [a, b] è un intervallo con una piccola ampiezza, contenente x e possiamo pensare quindi ce se la derivata seconda non varia troppo vicino a x, ovvero sia M f (x) Inoltre, visto ce la funzione g() := M + ɛ a minimo in = ɛ M, si suggerisce di non scegliere numericamente valori di più piccoli di con = ɛ M (6) Esempio Derivare in x 0 = 0 la funzione f(x) = exp(x) la cui derivata è f (x) = exp(x), calcolando exp() exp(0) δ + (f, x, ) = Il valore desiderato è f (0) = exp(0) = 1 Otteniamo i risultati della tabella e della figura, dove valutiamo E (f, 0) = δ + (f, x, ) 1 per = 10 1,, 10 6 Nel nostro caso, dalla definizione di numero maccina, e dal fatto ce exp() 1, ci possiamo aspettare ce l errore compiuto nel valutare exp() sia pari alla precisione di maccina, ovvero ɛ = 10 16 Visto ce M exp(0) = 1, ci aspettiamo ce il passo critico sia ɛ = 14 10 8 M come confermato dagli esperimenti numerici 4

E (f, 0) E (f, 0) 10e 01 5171e 0 10e 14 7993e 04 10e 0 5017e 03 10e 15 110e 01 10e 03 500e 04 10e 16 1000e + 00 10e 04 5000e 05 10e 17 1000e + 00 10e 05 5000e 06 10e 18 1000e + 00 10e 06 5000e 07 10e 19 1000e + 00 10e 07 4943e 08 10e 0 1000e + 00 10e 08 6077e 09 10e 1 1000e + 00 10e 09 874e 08 10e 1000e + 00 10e 10 874e 08 10e 3 1000e + 00 10e 11 874e 08 10e 4 1000e + 00 10e 1 8890e 05 10e 5 1000e + 00 10e 13 7993e 04 10e 6 1000e + 00 Tabella 1: Valutazione dell errore E (f, 0), f(x) = exp(x), per alcuni passi L errore degrada a partire da circa = 10e 08 10 0 10-6 10-10 -7 10-4 10-8 10-6 10-9 10-8 10-1 10-30 10-5 10-0 10-15 10-5 10 0 10-11 10-9 10-8 10-7 10-6 Figura 1: A sinistra, grafico in scala semilogaritmica dell errore E (f, 0), f(x) = exp(x), per alcuni passi A destra lo studio in scala loglog, attorno al valore = 10 8, in cui si vede come già vicino a = 10 7 incomincino a esserci problemi di convergenza Esempio Derivare in x 0 = 5 la funzione funzione di Runge f(x) = 1 1+x, x R la cui derivata è f (x) = x (1+x ), calcolando δ + (f, x, ) = f(x + ) f(x) Il valore desiderato è f (5) = 10 6 = 001479899408840 Approssimiamo f (x 0 ), calcolando δ + (f, 5, ) = f(5 + ) f(5) Otteniamo i risultati della tabella, dove valutiamo E (f, 5) = δ + (f, 5, ) f (5) 5

per = 1, 10 1,, 10 15 Come nel caso precedente, per < 10 8 i valori della derivata cominciano a degradare E (f, 0) E (f, 0) 10e + 00 3358e 03 10e 08 58e 10 10e 01 4108e 04 10e 09 381e 09 10e 0 400e 05 10e 10 1150e 08 10e 03 409e 06 10e 11 81e 07 10e 04 410e 07 10e 1 497e 07 10e 05 410e 08 10e 13 7159e 05 10e 06 410e 09 10e 14 831e 04 10e 07 3913e 10 10e 15 8645e 03 Tabella : A sinistra, grafico in scala semilogaritmica dell errore E (f, 0), f(x) = 1/(1 + x ), per alcuni passi A destra lo studio in scala loglog, attorno al valore = 10 8, in cui si vede come già vicino a = 10 7 incomincino a esserci problemi di convergenza 10-10 -8 10-3 10-4 10-9 10-5 10-6 10-7 10-8 10-9 10-11 10-11 10-15 10-5 10 0 10-1 10-9 10-8 10-7 Figura : Errore E (f, 0) per alcuni passi Zoom attorno al valore = 10 8 in cui si vede come tra = 10 7 e = 10 8 incomincino a esserci problemi di convergenza Supponiamo f C 3 ([a, b]) e ce x, x + [a, b] Allora, per ξ + (x, x + ) abbiamo f(x + ) = f(x) + f (1) (x) + f () (x) per ξ (x, x) abbiamo Sottraendo membro a membro, f(x ) = f(x) f (1) (x) + f () (x) + 3 f (3) (ξ + ), 6 3 f (3) (ξ + ) 6 f(x + ) f(x ) = f (1) (x) + 3 f (3) (ξ + ) + f (3) (ξ + ) 6 Dal teorema dei valori intermedi, la funzione assume tutti i valori nell intervallo [min(f (3) (ξ ), f (3) (ξ + )), max(f (3) (ξ ), f (3) (ξ + ))] 6

e quindi in particolare il loro valore medio Quindi possiamo asserire ce esiste ξ (x, x + ) tale ce e di conseguenza f (3) (ξ) = f (3) (ξ + ) + f (3) (ξ ) da cui riarrangiando i termini Da f(x + ) f(x ) = f (1) (x) + 3 f (3) (ξ) 3 δ (f, x, ) = δ (f, x, ) = f(x + ) f(x ) f(x + ) f(x ) se M 3 = max x (a,b) f (3) (x) abbiamo 0 f(x + ) f(x ) = f (1) (x) + 6 f (3) (ξ) = f (1) (x) + f (3) (ξ) f (1) (x) = f (3) (ξ) M 3 (7) da cui, per il teorema del confronto lim f(x + ) f(x ) 0 f (1) (x) = 0 e quindi lim δ (f, x, ) = f (1) (x) 0 Come nel caso precedente, questo risultato teorico non trova sempre riscontro nella pratica numerica La funzione f non viene sempre valutata esattamente, ed ogni volta calcoliamo invece di δ (f, x, ) = f(x+) f(x ) δ (f, x, ) = f(x + ) f(x ) e abbiamo f (x) δ (f, x, ) = f (x) δ (f, x, ) + δ (f, x, ) δ (f, x, ) f (x) δ (f, x, ) + δ (f, x, ) δ (f, x, ) (8) 7

Se ɛ è il massimo errore compiuto nel valutare la funzione δ (f, x, ) δ f(x + ) f(x ) (f, x, ) = f(x + ) f(x ) f(x + ) f(x + ) + f(x ) f(x ) ɛ + ɛ = ɛ (9), essendo f (x) δ (f, x, ) f (x) δ (f, x, ) + δ (f, x, ) δ (f, x, ) se M 3 = max s [a,b] f (3) (s) abbiamo ricaviamo f(x + ) f(x ) f (1) (x) M 3 δ (f, x, ) δ (f, x, ) f (x) δ (f, x, ) + δ (f, x, ) δ (f, x, ) M 3 + ɛ (10) Siccome l analisi viene fatta per 0, e l unica riciesta è ce sia x +, x [a, b], generalmente possiamo pensare ad [a, b] come ad un intervallo di piccola ampiezza e contenente x al suo interno Di conseguenza ce se la derivata terza non varia troppo vicino a x, sia M f (3) (x) In particolare, visto ce la funzione a minimo in g () := M 3 + ɛ = 3 ɛ M 3, si suggerisce di non scegliere numericamente valori di più piccoli di con = 3 ɛ M 3 (11) 8

Esempio Derivare in x 0 = 0 la funzione f(x) = exp(x) la cui derivata è f (x) = exp(x), calcolando δ (f, 0, ) = f(0 + ) f(0 ) Il valore desiderato è f (0) = exp(0) = 1 = exp() exp( ) Otteniamo i risultati della tabella e della figura, dove valutiamo E (f, 0) = δ (f, 0, ) 1 per = 10 0,, 10 5, ce evidenziano un degradamento attorno a = 10 6 Osserviamo come gli errori, per < = (10 16 ) 1/3 6 10 6 siano circa ( /)M 3 = ( /) in quanto M 3 D 3 exp(0) = 1 Ad esempio per = 10 4 ci aspettiamo un errore di 5 10 9 non troppo distante, almeno come ordine, da 1667e 09 E (f, 0) E (f, 0) 10e + 00 175e 01 10e 13 44e 04 10e 01 1668e 03 10e 14 7993e 04 10e 0 1667e 05 10e 15 5471e 0 10e 03 1667e 07 10e 16 4449e 01 10e 04 1667e 09 10e 17 1000e + 00 10e 05 110e 11 10e 18 1000e + 00 10e 06 676e 11 10e 19 1000e + 00 10e 07 564e 10 10e 0 1000e + 00 10e 08 6077e 09 10e 1 1000e + 00 10e 09 73e 08 10e 1000e + 00 10e 10 874e 08 10e 3 1000e + 00 10e 11 874e 08 10e 4 1000e + 00 10e 1 3339e 05 10e 5 1000e + 00 Tabella 3: Valutazione dell errore E (f, 0), f(x) = exp(x), per alcuni passi L errore sembra degradare a partire da circa = 10e 06 Esempio Derivare in x 0 = 5 la funzione funzione di Runge f(x) = 1 1+x, x R la cui derivata è f (x) = x (1+x ), calcolando δ (f, 5, ) = f(5 + ) f(5 ) Il valore desiderato è f (5) = 001479899408840 Dopo qualce conto,f (3) (5) 63030033963963e 03 Nella tabella, valutiamo E (f, 5) = δ (f, 5, ) f (5) per = 1, 10 1,, 10 15 9

10 0 10-5 10-15 10-5 10-0 10-15 10-5 10 0 Figura 3: Errore E (f, 0), con f(x) = exp(x), per alcuni passi Si vede, partendo da destra, come l errore compiuto sia una funzione decrescente al diminuire di fino a 10 5 (e non 10 6 come dice la tabella), dopo di ce l andamento, pur meno prevedibile, è essenzialmente crescente, fornendo errori tendenzialmente maggiori al diminuire di da δ (f, x, ) f (x) = f (3) (ξ) /, ci aspettiamo un errore E (f, 5) 6 10 3 = 3 10 3 Ad esempio, per = 10 4 la stima offre 3 10 11 molto prossima al valore numerico effettivo di 1050e 11 (almeno come ordine!) Come nel caso precedente, per = (10 16 /00063) 1/3 = 10 5, da <= i valori della derivata cominciano a degradare E (f, 0) E (f, 0) 10e + 00 1105e 03 10e 08 111e 10 10e 01 1051e 05 10e 09 1088e 09 10e 0 1050e 07 10e 10 1150e 08 10e 03 1050e 09 10e 11 173e 07 10e 04 1050e 11 10e 1 497e 07 10e 05 193e 13 10e 13 455e 06 10e 06 1458e 1 10e 14 119e 04 10e 07 505e 11 10e 15 831e 04 Tabella 4: Valutazione dell errore E (f, 5), con f(x) = 1/(1 + x ), per alcuni passi L errore degrada a partire da circa = 10e 05 [1] K Atkinson, Introduction to Numerical Analysis, Wiley, 1989 [] Wikipedia, Finite Difference, ttps://enwikipediaorg/wiki/finite difference [3] Wikipedia, Numerical Differentiation, ttps://enwikipediaorg/wiki/numerical differentiation 10

10-10 -4 10-6 10-8 10-1 10-14 10-16 10-16 10-14 10-1 10-8 10-6 10-4 10-10 0 Figura 4: Errore E (f, 5), con f(x) = 1/(1 + x ), per alcuni passi Si vede, partendo da destra, come l errore compiuto sia una funzione decrescente al diminuire di fino a 10 5, dopo di ce l andamento, pur meno prevedibile, è essenzialmente crescente, fornendo errori tendenzialmente maggiori al diminuire di 11