Corso di Analisi Numerica

Documenti analoghi
Corso di Analisi Numerica

Approssimazione di dati e funzioni

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

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

1 Polinomio di Taylor 1. 2 Formula di Taylor 2. 3 Alcuni sviluppi notevoli 2. 4 Uso della formula di Taylor nel calcolo dei limiti 4

Analisi matematica I. Sviluppi di Taylor e applicazioni. Sviluppi di Taylor. Operazioni sugli sviluppi di Taylor e applicazioni

Corso di Calcolo Numerico

Il teorema di Lagrange e la formula di Taylor

Universita degli Studi di Ancona - Facolta di Ingegneria Laurea in Ing. Elettronica (VO) Ing. Informatica e Automatica - Ing. delle Telecomunicazioni

I POLINOMI DI TAYLOR. c Paola Gervasio - Analisi Matematica 1 - A.A. 16/17 Sviluppi di Taylor cap7.pdf 1

Sezione Prima Derivate di funzioni elementari: quadro riassuntivo e regole di derivazione. = ( n) lim x

4.11 Massimi e minimi relativi per funzioni di più variabili

ESERCIZI SVOLTI SUL CALCOLO INTEGRALE

Esercitazione sugli sviluppi in serie di Taylor

INTERPOLAZIONE. Introduzione

Esercizi riguardanti limiti di successioni e di funzioni

Esercizi svolti sugli integrali

04 - Numeri Complessi

ANALISI MATEMATICA PER IL CdL IN INFORMATICA ESERCIZI SULLE DISEQUAZIONI

ANALISI 1 - Teoremi e dimostrazioni vari

Laboratorio 3. Integrazione numerica

TSRR. Vademecum sulle equazioni differenziali I. D. Mugnai( 1 ) ( 1 ) IFAC-CNR, Via Madonna del Piano 10, Sesto Fiorentino (FI), Italy

0.1 Spazi Euclidei in generale

Peccati, Salsa, Squellati, Matematica per l economia e l azienda, EGEA 2004

Anno 5 Regole di derivazione

CORSO DI ANALISI MATEMATICA 2 SOLUZIONI ESERCIZI PROPOSTI 18/03/2013

Sviluppi e derivate delle funzioni elementari

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

INTERPOLAZIONE. Francesca Pelosi. Dipartimento di Matematica, Università di Roma Tor Vergata. CALCOLO NUMERICO e PROGRAMMAZIONE

TEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2.

Appunti sul corso di Complementi di Matematica mod. Analisi prof. B.Bacchelli - a.a. 2010/2011.

Corso di Laurea in Ingegneria Gestionale Anno Accademico 2013/2014 Calcolo Numerico

Interpolazione. Lucia Gastaldi. DICATAM - Sez. di Matematica,

Argomento 6 Derivate

1) Applicando la definizione di derivata, calcolare la derivata in x = 0 delle funzioni: c) x + 1 d)x sin x.

SOLUZIONI COMPITO del 1/02/2013 ANALISI MATEMATICA I - 9 CFU INGEGNERIA MECCANICA - INGEGNERIA ENERGETICA INGEGNERIA AMBIENTE e TERRITORIO TEMA A

Il teorema di Schwarz

Riferimenti: R.Adams, Calcolo Differenziale 2. Capitoli 3.4, 3.9. Esercizi 3.4, 3.9.

Osservazioni sulle funzioni composte

Soluzioni delle Esercitazioni VIII 21-25/11/2016. = lnx ln1 = lnx. f(t)dt.

Teorema delle Funzioni Implicite

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE

Corso di Matematica per la Chimica

Metodi numerici per equazioni differenziali ordinarie. Calcolo Numerico a.a. 2008/2009

Le derivate parziali

Integrazione numerica

Funzioni reali di variabile reale

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Funzioni derivabili (V. Casarino)

Stabilire se il punto di coordinate (1,1) appartiene alla circonferenza centrata nell origine e di raggio 1.

Precorso di Matematica

ESERCIZIARIO SULL'APPLICAZIONE DELLE DERIVATE

Corso di Laurea in Ingegneria Informatica Analisi Numerica

Anno 1. Divisione fra polinomi

Anno 3. Equazioni esponenziali e logaritmiche

Dispensa sulla funzione gaussiana

Equazioni differenziali ordinarie (ODE) lineari del secondo ordine a coefficienti costanti

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Derivate. Capitolo Cos è la derivata?

Operatori di aggregazione per metodi multigrid

Collegamento generatori di tensione. Collegamento parallelo. Sia dato il sistema di figura 1: Fig. 1 -

Capitolo 1 ANALISI COMPLESSA

1 Fattorizzazione di polinomi

Appunti di Elettronica I Lezione 3 Risoluzione dei circuiti elettrici; serie e parallelo di bipoli

Calcolo Numerico con elementi di programmazione

Calcolo integrale. Regole di integrazione

Richiami sulla rappresentazione dei numeri in una base fissata

Fili, finiti e infiniti, uniformemente carichi

Equazioni, funzioni e algoritmi: il metodo delle secanti

Precorsi di matematica

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

SPAZI METRICI COMPLETI

Teorema di Thevenin generalizzato

Limiti e continuità. Teoremi sui limiti. Teorema di unicità del limite Teorema di permanenza del segno Teoremi del confronto Algebra dei limiti

IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero

Una funzione è continua se si può tracciarne il grafico senza mai staccare la matita dal foglio.

LEZIONE 15. (15.1.2) p(x) = a 0 x n + a 1 x n a n 1 x + a n = a h x n h.

Matematica. Funzioni. Autore: prof. Pappalardo Vincenzo docente di Matematica e Fisica

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4 - Polinomi e Interpolazione polinomiale

Anno 1. Frazioni algebriche: definizione e operazioni fondamentali

Funzioni Composte e Derivazione delle funzioni composte

Esercizi svolti di aritmetica

Zeri di funzioni e teorema di Sturm

Transcript:

Corso di Laurea in Ingegneria Informatica Corso di 4 - DERIVAZIONE NUMERICA Lucio Demeio Dipartimento di Scienze Matematiche

1 Calcolo numerico delle derivate 2 3

Introduzione Idea di base L idea di base per generare un approssimazione alla derivata di una funzione è di far uso del rapporto incrementale: f (x 0 ) = lim h 0 f(x 0 + h) f(x 0 ) h che suggerisce di approssimare la derivata con il rapporto incrementale calcolato per h molto piccolo; che errore commettiamo? va a zero per h 0 e come?

Calcolo dell errore Polinomio interpolatore Sia f C 2 [a, b], sia f (x) M in [a, b] e siano x 0 e x 1 = x 0 + h due punti di [a, b] (pensiamo pure h piccolo, con x 1 molto vicino ad x 0 ); a h x 0 x 1 b x costruiamo il polinomio di Lagrange P 1 (x) per x 0 ed x 1 e ricordiamo la formula per l errore: f(x) = P 1 (x) + (x x 0)(x x 1 ) 2! f (ξ(x))

Calcolo dell errore Polinomio interpolatore e quindi P 1 (x) = f(x 0 ) x x 1 x 0 x 1 + f(x 1 ) x x 0 x 1 x 0 = f(x 0 ) x (x 0 + h) h + f(x 0 + h) x x 0 h f(x) = f(x 0 ) x (x 0 + h) h + (x x 0)(x x 0 h) 2! f (x) = f(x 0 + h) f(x 0 ) h + 2(x x 0) h 2! f (ξ(x)) + f(x 0 + h) x x 0 h f (ξ(x)) e, derivando... + (x x 0)(x x 0 h) 2! (f (ξ(x)))

Calcolo dell errore Polinomio interpolatore Per x = x 0 il termine contenente (f (ξ(x))) si annulla e possiamo scrivere f (x 0 ) = f(x 0 + h) f(x 0 ) h h 2! f (ξ) dove ξ [x 0, x 1 ]. Possiamo dunque approssimare f (x 0 ) con il rapporto incrementale, commettendo un errore limitato da M h /2. Per h > 0 la formula prende il nome di formula alle differenze finite in avanti, mentre se h < 0 di formula alle differenze finite all indietro. È importante notare che l errore dipende linearmente da h, cioè possiamo scrivere f (x 0 ) = f(x 0 + h) f(x 0 ) h + O(h)

Calcolo dell errore Esempio j x y FFD BFD 0 1.0 0.92734 0.2111 = 1 1.1 0.90623 0.2821 0.2111 2 1.2 0.93444 0.2271 0.2821 3 1.3 0.95715 0.3014 0.2271 4 1.4 0.98729 0.2505 0.3014 5 1.5 1.01234 = 0.2505

Calcolo dell errore Sviluppo di Taylor Il metodo illustrato sopra non è l unico per arrivare all errore, anche se è il più generale. Sviluppiamo f(x 0 + h) in serie di Taylor al second ordine in h: dove ξ (x 0, x 0 + h). f(x 0 + h) = f(x 0 ) + h f (x 0 ) + h2 2 f (ξ) Da qui ricaviamo semplicemente: f (x 0 ) = f(x 0 + h) f(x 0 ) h h 2! f (ξ) Useremo entrambi i metodi a seconda del caso.

Approssimazioni generali alle derivate Formula per n + 1 punti Siano x 0, x 1,..., x n n + 1 punti distinti ed equispaziati, con passo di discretizzazione h, in un intervallo I. Siano f(x 0 ), f(x 1 ),..., f(x n ) i valori della funzione ai nodi. Utilizzando il polinomio interpolatore di Lagrange possiamo allora scrivere f(x) = n k=0 f(x k )L nk (x)+ (x x 0)(x x 1 )...(x x n ) (n + 1)! f (n+1) (ξ(x)) dove gli L nk (x) sono i polinomi già introdotti in precedenza e tali che L nk (x k ) = 1 e L nk (x j ) = 0 per j k.

Approssimazioni generali alle derivate Formula per n + 1 punti equispaziati Derivando otteniamo f (x) = nx f(x k ) L nk(x) k=0» (x x0)(x x 1)...(x x n) + f (n+1) (ξ(x)) (n + 1)! (x x0)(x x1)...(x xn) + (f (n+1) (ξ(x))) (n + 1)! Calcolando in x k, l ultimo termine si annulla e si vede facilmante che f (x j) = nx f(x k ) L nk(x j) + hn (n + 1)! f(n+1) (ξ(x j)) k=0 detta formula per n + 1 punti (equispaziati).

Approssimazioni generali alle derivate Formule ridotte Le formule ad n + 1 punti non vengono usate, perchè richiedono il calcolo della funzione in molti punti, che è dispendioso e soggetto ad errori di arrotondamento. Si preferiscono allora formula ridotte a tre o cinque punti. Formule ridotte a tre punti Sia x i uno dei nodi interni, con 1 i n 1. Scriviamo esplicitamente il polinomio di Lagrange che passa per i tre nodi x i 1, x i, x i+1 (x x i)(x x i+1) f(x) = f(x i 1) (x i 1 x i)(x i 1 x i+1) (x xi 1)(x xi+1) +f(x i) (x i x i 1)(x i x i+1) +f(x i+1) (x x i 1)(x x i) (x i+1 x i 1)(x i+1 x i) + h2 3! f(3) (ξ(x))

Approssimazioni generali alle derivate Formule ridotte a tre punti Ricordando che x i 1 = x i h e x i+1 = x i + h, abbiamo f(x) = f(x i 1 ) (x x i)(x x i+1 ) 2 f(x i ) (x x i 1)(x x i+1 ) h 2 +f(x i+1 ) (x x i 1)(x x i ) 2 + (x x i 1 )(x x i )(x x i+1 ) f (3) (ξ(x)) 3!

Approssimazioni generali alle derivate Formule ridotte a tre punti Derivando: f (x) = f(x i 1 ) 2x x i+1 x i 2 f(x i ) 2x x i 1 x i+1 h 2 +f(x i+1 ) 2x x i 1 x i [ 2 ] (x xi 1 )(x x i )(x x i+1 ) + f (3) (ξ(x)) 3! + (x x i 1)(x x i )(x x i+1 ) (f (3) (ξ(x))) 3!

Approssimazioni generali alle derivate Formule ridotte a tre punti Calcolando le derivate in x i 1, x i ed x i+1, ricordando nuovamente che l ultimo termine si annulla in tal caso, e dopo qualche semplificazione algebrica, abbiamo: f (x i 1 ) = 3 f(x i 1) + 4 f(x i ) f(x i+1 ) f (x i ) = f(x i+1) f(x i 1 ) + h2 6 f(3) (ξ 2 ) f (x i+1 ) = f(x i 1) 4 f(x i ) + 3 f(x i+1 ) + h2 3 f(3) (ξ 1 ) + h2 3 f(3) (ξ 3 ) Da qui vediamo che l errore è del second ordine nel passo di discretizzazione h e che l errore nella seconda formula è metà di quello della prima e della terza; ciò è dovuto al fatto di aver coinvolto punti da entrambe le parti di x i. La formula centrale è applicabile solo ai nodi interni, x 1,..., x n 1, mentre per x 0 ed x n vanno usate le altre due.

Approssimazioni generali alle derivate Formule ridotte a tre punti Nelle applicazioni pratiche dunque, volendo costruire un approssimazione alla derivata di una funzione sui nodi a = x 0 < x 1 <... < x n = b di un intervallo [a, b] mediante le formula a tre punti, avremo: f (x 0 ) 3 f(x 0) + 4 f(x 1 ) f(x 2 ) f (x i ) f(x i+1) f(x i 1 ), i = 1,..., n 1 f (x n ) f(x n 2) 4 f(x n 1 ) + 3 f(x n ) con errore quadratico nel passo h.

Approssimazioni generali alle derivate Formule ridotte a tre punti - derivazione con Taylor L approssimazione alla derivata data dalla formula centrale può essere ricavata con un semplice sviluppo in serie di Taylor al modo seguente, sotto l ipotesi che f sia di classe C 3 nell intervallo considerato. f(x i+1 ) = f(x i ) + h f (x i ) + h2 2 f (x i ) + h3 3! f(3) (ξ ) f(x i 1 ) = f(x i ) h f (x i ) + h2 2 f (x i ) h3 3! f(3) (ξ ) Sottraendo la seconda equazione dalla prima otteniamo f (x i ) = f(x i+1) f(x i 1 ) = f(x i+1) f(x i 1 ) + h2 f (3) (ξ ) + f (3) (ξ ) 3! 2 + h2 6 f(3) (ξ ), dove l ultima uguaglianza segue dal teorema dei valori intermedi.

Approssimazioni generali alle derivate Formule ridotte a cinque punti Un altra approssimazione usata per il calcolo numerico delle derivate è quella della formula a cinque punti. La derivazione può essere fatta sia con il polinomio di Lagrange sia con lo sviluppo di Taylor. Ci limitiamo a fornire la formula centrale, lasciando allo studente il compito della sua derivazione. f (x i ) = f(x i 2) 8 f(x i 1 ) + 8 f(x i+1 ) f(x i+2 ) 1 + h4 30 f(5) (ξ) con ξ (x i 2, x i+2 ). Da notare che l errore è del quart ordine nel passo di discretizzazione. Questa formula fornisce pertanto un risultato più accurato di quella a tre punti, al costo però di una quantità molto maggiore di valutazioni della funzione.

Approssimazioni generali alle derivate Confronto fra tre e cinque punti f(x) = sinx, f (x) = cosx, x [0, 2π], confronto nella formula a tre punti n = 8 ed n = 32; errore (in funzione di h) nel punto x = 5π/4 a tre punti (blu), cinque punti (rosso 1000) e differenze finite in avanti (verde /1000): 1 0.00015 0.0001 Π 2 Π 3Π 2 2Π 0.00005 1 0 0.02 0.04 0.06 0.08

Approssimazioni generali alle derivate Relazione con le differenze divise ed il simbolo 1 Le formule per le approssimazioni numeriche delle derivate si possono esprimere tramite il simbolo f(x i ) = f(x i+1 ) f(x i ) precedentemente introdotto. 2 Differenze finite in avanti: f (x i ) = f(x i+1) f(x j ) h = 1 h f(x i) 3 Formule a tre punti: f (x i 1 ) = 3 f(x i 1) + 4 f(x i ) f(x i+1 ) = 3 f(x i 1) f(x i ) f (x i ) = f(x i+1) f(x i 1 ) = f(x i) + f(x i 1 )

Approssimazioni generali alle derivate Relazione con le differenze divise ed il simbolo f (x i+1 ) = f(x i 1) 4 f(x i ) + 3 f(x i+1 ) = 3 f(x i) f(x i 1 )

In generale L estrapolazione di Richardson è un metodo per ricavare schemi di ordine più elevato a partire da schemi di ordine più basso. Come esempio introduttivo, consideriamo la formula alle differenze centrate per l approssimazione della derivata: f (x i ) = f(x i + h) f(x i h) dove ξ (x i + h, x i h). + h2 6 f (ξ) Utilizzando lo sviluppo di Taylor, possiamo però anche scrivere f (x i ) = f(x i + h) f(x i h) + h2 3! f (x i ) + h4 5! f(5) (x i ) +...

In generale Questa può essere considerata come un caso particolare di un espressione più generale del tipo M = N 1 (h) + K 1 h 2 + K 4 +... (*), che deve valere per qualsiasi h e dove M è il valore vero della grandezza che si vuol approssimare (nel nostro caso f (x i )), N 1 (h) è l approssimazione utilizzata, nel nostro caso N 1 (h) = f(x i + h) f(x i h) e gli altri termini rappresentano l errore, di cui si conosce la struttura ma, in generale, non le costanti K 1, K 2, etc.

In generale Scriviamo ora la (*) per h e per 2h: M = N 1 (h) + K 1 h 2 + K 4 +... M = N 1 () + K 1 4 h 2 + K 2 16 h 4 +... da cui, moltiplicando la prima equazione per 4 e sottraendo, otteniamo 3 M = 4 N 1 (h) N 1 () 12 K 4 +... da cui con M = N 2 (h) 4 K 4 +... N 2 (h) = 4 N 1(h) N 1 () 3

Esempio Come esempio, consideriamo nuovamente la formula per la derivata f (x i ) = f(x i + h) f(x i h) e ritroviamo la formula a cinque punti + K 1 h 2 + K 4 +... f (x i ) N 2 (h) = f(x i 2) 8 f(x i 1 ) + 8 f(x i+1 ) f(x i+2 ) 1 Il vantaggio sta nella semplicità di ricavare la formula a cinque punti, che è molto lunga e tediosa da ricavare con il polinomio interpolatore di Lagrange, un po meno con gli sviluppi di Taylor ed ancor più semplice con il metodo qui esposto

Derivata seconda Le approssimazioni numeriche per le derivate di ordine superiore al primo sono lunghe da ottenere con il polinomio interpolatore. Ci limitiamo alla derivazione della formula centrata per la derivata seconda tramite lo sviluppo di Taylor. Siano x 0, x 1,..., x n i nodi equispaziati, con h il passo di discretizzazione, e sia 1 i n 1, così che x i sia un nodo interno. Sviluppiamo f(x i + h) ed f(x i h) attorno ad f(x i ):

Derivata seconda Scriviamo gli sviluppi f(x i + h) = f(x i ) + h f (x i ) + h2 2 f (x i ) + h3 6 f (x i ) + h4 24 f(4) (ξ 1 ) f(x i h) = f(x i ) h f (x i ) + h2 2 f (x i ) h3 6 f (x i ) + h4 24 f(4) (ξ 2 ), dove x i h < ξ 2 < x i < ξ 1 < x i + h, e sommiamo membro a membro.

Derivata seconda Ricaviamo per la derivata seconda: f (x i ) = f(x i h) 2 f(x i ) + f(x i + h) h 2 h2 12 f(4) (ξ) Cioè f (x i ) f(x i 1) 2 f(x i ) + f(x i+1 ) h 2 con l errore del second ordine in h. Ovviamente, quest ultima espressione vale solo per i nodi interni.