Corso di Calcolo Scientifico

Documenti analoghi
Corso di Analisi Numerica

Corso di Matematica per la Chimica

Regola dei trapezi. a, b punti fissi a priori. non fissi a priori (indeterminati) errore di integrazione. a, b

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

Calcolo Numerico (A.A ) Lab n. 12 Approssimazione

Laboratorio di Matematica Computazionale A.A Lab. 9

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

Approssimazione di dati e funzioni

Quale delle seguenti rappresentazioni del numero reale è in virgola mobile normalizzata?

Corso di Matematica per la Chimica

Esercizio 1. Esercizio 2

RICHIAMI PER IL CORSO DI ANALISI NUMERICA

Approssimazione di dati e funzioni

Corso di Matematica per la Chimica

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

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

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:

Quali condizionisi si possono richiedere sulla funzione interpolante?

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

Laboratorio 3. Integrazione numerica

Calcolo Numerico con elementi di programmazione

APPROSSIMAZIONE di FUNZIONI

INTERPOLAZIONE POLINOMIALE

Precorso di Matematica

Calcolo Numerico Informatica Manolo Venturin A.A Guida all esame

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

Corso di Calcolo Numerico

Programma del corso di: Calcolo Numerico Corso di laurea in Matematica a.a Prof. B.Paternoster

INTERPOLAZIONE. Introduzione

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

Geometria BIAR Esercizi 2

Appunti su Indipendenza Lineare di Vettori

Funzioni algebriche: pendenza e Teorema di Ruffini

Corso di Analisi Numerica

Analisi Matematica I per Ingegneria Gestionale, a.a Scritto del secondo appello, 1 febbraio 2017 Testi 1

Corso di Calcolo Numerico

Analisi 2. Roberto Monti. Appunti del Corso - Versione 5 Ottobre 2012

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

Risoluzione di problemi ingegneristici con Excel

Esercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A =

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Introduzione al Calcolo Scientifico - A.A

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Prova di ammissione al Dottorato di Ricerca in Matematica XXVIII ciclo. Universitá del Salento, 9 Aprile 2013

TEMI D ESAME DI ANALISI MATEMATICA I

Integrazione numerica

Anno 3 Equazione dell'ellisse

Il metodo di Gauss-Newton per le regressioni non-lineari

Metodi iterativi per sistemi lineari

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

Applicazioni lineari e diagonalizzazione. Esercizi svolti

Equazioni differenziali

Esercizi di Geometria - 1

TEORIA DEI SISTEMI ANALISI DEI SISTEMI LTI

Correzione secondo compitino, testo B

Calcolo Numerico con elementi di programmazione

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

Dipendenza e indipendenza lineare (senza il concetto di rango)

Analisi dei segnali nel dominio del tempo

Facoltá di Scienze MM.FF.NN. Corso di Studi in Informatica- A.A

Corso di Calcolo Numerico

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Prendiamo in considerazione la matrice tridiagonale

Equazioni differenziali Corso di Laurea in Scienze Biologiche Istituzioni di Matematiche A.A Dott.ssa G. Bellomonte

1 Definizione di sistema lineare omogeneo.

MATEMATICA CORSO A CORSO DI LAUREA IN SCIENZE BIOLOGICHE I PROVA IN ITINERE COMPITO PROVA 1

Interpolazione ed approssimazione di funzioni

Secondo parziale di Matematica per l Economia (esempio)

APPLICAZIONI LINEARI

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

METODO DI CAVALIERI-SIMPSON (o delle parabole) (per il calcolo approssimato 1 di integrali definiti)

Analisi Numerica. Debora Botturi ALTAIR. Debora Botturi. Laboratorio di Sistemi e Segnali

y 3y + 2y = 1 + x x 2.

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

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

Variabili aleatorie scalari

a + 2b + c 3d = 0, a + c d = 0 c d

PROGRAMMA di MATEMATICA A. S. 2015/16 PRIVATISTI CLASSE PRIMA Aritmetica: Gli insiemi numerici N, Z, Q con le operazioni e le proprietà.

METODO DEI MINIMI QUADRATI

Geometria analitica di base. Equazioni di primo grado nel piano cartesiano Funzioni quadratiche Funzioni a tratti Funzioni di proporzionalità inversa

Fondamenti di Informatica, A.A Compito A

SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI

1 Primitive e integrali indefiniti

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014

Un paio di esempi su serie e successioni di funzioni

Consideriamo il seguente sistema di equazioni differenziali ordinarie (ODE) ai valori iniziali:

Massimi e minimi vincolati

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.

Una libreria di funzioni per la geometria analitica

Anno 5 Regole di derivazione

Raccolta di esercizi di Calcolo Numerico

Variabile, costante ed espressione

Errori frequenti di Analisi Matematica

Corso di Calcolo Numerico

Metodi per la risoluzione di sistemi lineari

ESERCITAZIONE: ESPONENZIALI E LOGARITMI

(x B x A, y B y A ) = (4, 2) ha modulo

Massimi e minimi vincolati

POTENZE DI MATRICI QUADRATE

Transcript:

I Modulo del corso integrato di Calcolo Dott.ssa Maria Carmela De Bonis a.a. 2012-13

Approssimazione di Funzioni In molti problemi matematici emerge l esigenza di dover approssimare una funzione f C k ([a, b]), [a, b] R, k 0, (C k ([a, b]) spazio delle funzioni derivabili k volte in [a, b] con derivata k esima continua in [a, b]) con un altra funzione φ n di forma più semplice. Vediamo alcuni esempi.

Integrazione numerica Spesso non è possibile calcolare l integrale b a f (x)dx per via analitica e, anche quando questo è possibile, può accadere che nel calcolo sono coinvolte funzioni non elementari, che devono poi essere valutate (e quindi approssimate). Pertanto, si approssima la funzione integranda f con una funzione φ n opportunamente legata alla funzione f e l integrale I(f ) viene calcolato nel seguente modo b n φ n (x)dx + e n (f ) = a k f (x k ) + e n (f ) := G n (f ) + e n (f ), a k=1 dove G n (f ) prende il nome di formula di quadratura ed e n (f ) denota l errore teorico di approssimazione.

Approssimazione di dati sperimentali In molte applicazioni accade di avere una certa quantità di dati (solitamente elevata) e di voler descrivere l andamento del fenomeno che ha generato tali dati ed utilizzare quindi il modello, così dedotto, per prevedere valori in corrispondenza di ascisse non comprese nei dati iniziali. Tale strategia è anche utilizzata per correggere i dati sperimentali.

La funzione φ n si dice approssimazione della funzione f e naturalmente occorre valutare lo scostamento di φ n da f. Per misurare la bontà della funzione φ n nell approssimare la funzione f (ovvero la distanza di φ n da f ) si valuta la norma f φ n := max x [a,b] f (x) φ n(x). Se si verifica che lim f φ n = 0 n si dice che la successione {φ n } n converge ad f in norma uniforme. Naturalmente richiediamo che l ordine di convergenza sia il più grande possibile.

Le tecniche di approssimazione che andremo a studiare: Interpolazione mediante polinomi (un unico polinomio per tutti i dati) Funzioni polinomiali a tratti (una funzione composta da polinomi)

Interpolazione polinomiale (cenni) Sia f C 0 ([a, b]), [a, b] R. Supponiamo di conoscere i valori f (x 1 ),..., f (x n ) assunti da f rispettivamente nei punti x 1,..., x n tutti distinti. Lo scopo dell interpolazione polinomiale è quello di cercare un polinomio di grado minimo (eventualmente unico) che coincida con la funzione f nei punti assegnati, cioè tale che P(x i ) = f (x i ), i = 1,..., n.

Poichè i punti sono n, è sufficiente considerare il generico polinomio di grado n 1 che ha n coefficienti P n 1 (x) = a 0 + a 1 x + + a n 1 x n 1 ed imporre le condizioni a 0 + a 1 x 1 + + a n 1 x n 1 1 = f (x 1 ) a 0 + a 1 x 2 + + a n 1 x n 1 2 = f (x 2 )... a 0 + a 1 x n + + a n 1 xn n 1 = f (x n ).

I parametri incogniti a 0, a 1,..., a n 1 sono soluzione del seguente sistema quadrato di ordine n. 1 x 1 x n 1 1 1 x 2 x n 1 2.. 1 x n xn n 1 a 0 a 1. a n 1 = f (x 1 ) f (x 2 ). f (x n ) (1)

La matrice del sistema è quella di Vandermonde e il suo determinante è diverso da zero se i punti x i, i = 1,..., n, sono tutti distinti. Dunque, esiste uno ed un solo polinomio di grado n 1 tale che P n 1 (x i ) = f (x i ), i = 1,..., n. Tale polinomio viene detto polinomio interpolante e i punti x i, i = 1,..., n, vengono detti punti o nodi di interpolazione.

Per la costruzione del polinomio interpolante, si potrebbe procedere alla risoluzione del precedente sistema. Ma questo approccio non è consigliato sia perché le matrici di Vandermonde sono malcondizionate sia perché necessita di un elevato numero di operazioni aritmetiche. Dunque, una volta stabilita l esistenza e l unicità del polinomio interpolante, per l effettiva costruzione si utilizzano tecniche alternative ben condizionate e, possibilmente, meno costose in termini di operazioni aritmetiche.

Espressione del polinomio interpolante L espressione più utilizzata del polinomio interpolante è quella dovuta a Lagrange: n n (x x i ) P n (f, x) = (x k x i ) f (x k). k=1 i=1 i k Ecco perché il polinomio interpolante viene anche detto polinomio di Lagrange.

Se la funzione f C k ([a, b]) con k 1, e se i nodi di interpolazione sono scelti opportunamente, la successione dei polinomi di Lagrange converge uniformemente alla funzione f nell intervallo [a, b] con ordine di convergenza circa k: f P n (f ) C log n. nk Dunque più è regolare la funzione e più la convergenza del polinomio di Lagrange alla funzione f è veloce.

Tuttavia, in molte applicazioni si è vincolati ad usare i nodi equispaziati o comunque non è possibile scegliere i nodi dell interpolazione. In tali casi è necessario cambiare il tipo di funzione approssimante.

Funzioni polinomiali a tratti Suddividiamo l intervallo [a, b] in n sottointervalli con n + 1 nodi x i, i = 0,..., n, tali che a = x 0 < x 1 <... < x n = b. Una funzione S n si dice polinomiale a tratti su [a, b] se sull i-esimo sottointervallo [x i, x i+1 ] coincide con un polinomio di grado k i. Di solito k i = k i = 0,..., n 1, cioè i polinomi usati nei diversi sottointervalli hanno tutti lo stesso grado k. I punti x i, i = 0,..., n, possono essere equispaziati di passo h = b a o possono avere distanza variabile. In quest ultimo caso n poniamo h i+1 = x i+1 x i, i = 0,..., n 1, e h = max h i. i=0,...,n 1

L esempio più semplice di funzione polinomiale a tratti è la polinomiale lineare. Nell i esimo sottointervallo la funzione S 1 coincide con il polinomio interpolante della funzione f nei nodi x i e x i+1, cioè per x i x x i+1 si ha S 1 (f, x) = L 2 (f, x) = (x i+1 x)f (x i ) + (x x i )f (x i+1 ) x i+1 x i. 1 Se f C 1 ([a, b]) si ha 2 se f C 2 ([a, b]) si ha 3 se f C k ([a, b]) con k > 2 si ha f S 1 (f ) Ch; f S 1 (f ) Ch 2 ; f S 1 (f ) Ch 2.

Per la sua semplicità questo metodo è usato spesso nella pratica, ma esso non è adatto per una buona rappresentazione grafica della funzione. Infatti, poichè non stabilisce nessuna condizione sulle derivate dei polinomi nei punti x i, i = 1,..., n 1, il raccordo fra due diversi polinomi presenta in generale un punto spigoloso.

Funzioni spline Esistono tanti altri esempi di funzioni polinomiali a tratti, ma fra di esse, quelle più usate sono le funzioni spline. Le funzioni spline sono polinomiali che si ottengono imponendo condizioni di continuità delle derivate, senza utilizzare i valori, in generale non disponibili, delle derivate della funzione nei nodi dell intervallo. Esse sono molto utilizzate nella pratica perché consentono di ottenere ottimi risultati dal punto di vista grafico.

Fissato un intero d 1, S d (f, x) è una funzione spline di ordine d associata alla suddivisione dell intervallo [a, b] se: a = x 0 < x 1 <... < x n = b 1 S d (f, x) è un polinomio di grado d in ogni intervallo [x i 1, x i ], i = 1,..., n; (f ) è una funzione continua su [a, b] per ogni k = 0,..., d 1. 2 S (k) d Le funzioni spline più usate sono quelle cubiche, cioè d = 3.

Spline cubiche Assegnati n + 1 punti nell intervallo [a, b] tali che a = x 0 < x 1 <... < x n = b, la spline cubica S 3 (f, x) interpola la funzione y = f (x) in tali punti, cioè S 3 (f, x i ) = f (x i ), i = 0,..., n. (2) Inoltre, dalla Definizione 2 risulta S 3 (f, x) = a i + b i x + c i x 2 + d i x 3, x [x i 1, x i ], (3) i = 1,..., n, S (k) 3 (f, x+ i ) = S (k) 3 (f, x i ), i = 1,..., n 1, (4) k = 0, 1, 2. Le condizioni (2) e (4) conducono ad un sistema lineare di 4n 2 equazioni (n + 1 dalla (2) e 3(n 1) dalla (4)) nelle 4n incognite a i, b i, c i, d i definite in (3).

Per ottenere un sistema quadrato di ordine 4n, dobbiamo imporre due ulteriori condizioni. Imponendo le condizioni S (2) 3 (f, x 0) = S (2) 3 (f, x n) = 0 si ottengono le splines cubiche naturali. Se invece sono noti i valori della derivata prima della funzione negli estremi, imponendo le condizioni S 3(f, x 0 ) = f (x 0 ), S 3(f, x n ) = f (x n ) si ottengono le splines cubiche complete Imponendo la continuità della derivata terza della spline nei punti x 1 ed x n 1, cioè imponendo le condizioni S 3 (3)(f, x 1 ) = S 3(3)(f, x + 1 ), S 3(3)(f, x n 1 ) = S 3(3)(f, x + n 1 ) si ottengono le splines cubiche not-a-knot.

In generale, per ciascuna delle spline precedenti, per determinare le incognite a i, b i, c i, d i, i = 1,..., n si deve risolvere un sistema lineare a matrice piena di ordine 4n. Tuttavia, introducendo le nuove incognite M i = S 3(f, x i ), i = 0, 1,..., n. è possibile costruire univocamente S 3 (f, x) risolvendo un sistema lineare di ordine al più n + 1, la cui matrice dei coefficienti è tridiagonale simmettrica e a diagonale dominante. Date le caratteristiche della matrice dei coefficienti, la soluzione si calcola efficientemente con il metodo di Gauss senza pivoting.

Per quanto riguarda la stima dell errore: se f C 1 ([a, b]) si ha se f C 2 ([a, b]) si ha f S 3 (f ) Ch; f (p) S (p) 3 (f ) Ch 2 p, p = 0, 1; se f C 3 ([a, b]) si ha f (p) S (p) 3 (f ) Ch 3 p, p = 0, 1, 2; se f C 4 ([a, b]) si ha f (p) S (p) 3 (f ) Ch 4 p, p = 0, 1, 2, 3; se f C k ([a, b]) con k > 4 f (p) S (p) 3 (f ) Ch 4 p, p = 0, 1, 2, 3. Il risultato precedente ci consente di utilizzare S 3 (f, x) per approssimare f e le derivate di S 3 (f, x) per approssimare le derivate di f.

Il comando spline in Matlab In Matlab con la function spline vengono computate le spline cubiche not-a-knot. Sia x un vettore di nodi ed y il vettore dei valori nei nodi, entrambi di lunghezza m. Con il comando >>S=spline(x,y) viene determinata una variabile strutturata S contenente la pp form della spline. Vediamo con un esempio che cosa si intende.

Esempio Approssimazione di Funzioni >>x =[ 0 : 0.1 : 1]; >>y=sin(x); >>S=spline(x,y) si ha in output: S= form: pp breaks: [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1] nodi di interpolazione coefs: [10x4 double] coefficienti dei polinomi pieces: 10 numero degli intervalli order: 4 ordine della spline +1 dim: 1

Attraverso la funzione unmkpp è possibile estrarre i suddetti parametri assegnandoli a variabili distinte di tipo double: >>[x,c,l,k]=unmkpp(s) x è un vettore di lunghezza m contenente i nodi [0 : 0.1 : 1] in cui la spline interpola la funzione; C è la matrice di ordine (m 1)x4 la cui riga i sima contiene i coefficienti del polinomio di terzo grado relativo all intervallino i simo; l è il numero degli intervallini (numero dei punti 1); k è l ordine della spline +1.

La funzione mkpp viene usata per la procedura inversa di passaggio dai parametri alla pp-form. Ad esempio, se ho il vettore dei nodi x e la matrice dei coefficienti C, il comando >>Sback=mkpp(x,C) costruisce il parametro strutturato Sback.

Approssimazione simultanea di una funzione e della sua derivata prima La derivata prima della spline cubica relativa ai nodi x 0,..., x n e ad una funzione f è una spline di ordine 2, ossia composta da polinomi di secondo grado, continua con la sua derivata prima. In base a questo risultato e servendoci della pp-form della spline in Matlab, andiamo ad approssimare una funzione f con S 3 (f ) e la sua derivata prima f con S 3 (f ), cioé usando solo i valori della funzione f necessari per costruire la spline e senza dover calcolare (conoscere) i valori della derivata prima f nei nodi.

Dalla pp-form determiniamo la matrice di ordine (m 1)x3 la cui i sima riga con- tiene i coefficienti della derivata prima del polinomio di terzo grado relativo all intervallino i simo: >>Cder=[3*C(:,1) 2*C(:,2) C(:,3)]; >>Sder = mkpp(x,cder) Si ha la pp-form della spline quadratica che useremo per approssimare la f.

Per ottenere un approssimazione del grafico della funzione f e della funzione f, scegliamo un insieme di punti z (diverso dall insieme dei punti x) e usiamo la function Matlab ppval >>z=[0:0.01:1]; >>Sz=ppval(S,z); >>Sderz=ppval(Sder,z); >> subplot(121),plot(z,sin(z), r ), subplot(122),plot(z,sz, g ) >> subplot(121),plot(z,cos(z), r ), subplot(122),plot(z,sderz, g ) Otteniamo i grafici:

0.9 y=f(x)=sin(x) 0.9 y=s 3 (f,x) 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0.5 1 0 0 0.5 1 1 y=f (x)=cos(x) 1 y=s 3 (f,x) 0.95 0.95 0.9 0.9 0.85 0.85 0.8 0.8 0.75 0.75 0.7 0.7 0.65 0.65 0.6 0.6 0.55 0.55 0.5 0 0.5 1 0.5 0 0.5 1

Esempio Approssimazione di Funzioni In un giorno del mese di luglio, ad intervalli di 1 ora, per tutte le 24 ore, sono state registrate le seguenti temperature ora temperatura 1 15 2 14 3 15 4 14 5 15 6 16 7 18 8 20 9 21 10 24 11 27 12 30 13 30 14 32 15 32 16 31 17 29 18 28 19 27 20 25 21 23 22 20 23 18 24 17

Utilizziamo la spline cubica S 3 (f ) per stimare le temperature delle ore 12, 30 e delle ore 19, 30 e, poi, confrontiamo i risultati ottenuti con i valori reali riportati nella seguente tabella ora temperatura 12,30 30 19,30 26

Denotato con x il vettore avente per componenti le ore e con y il vettore avente per componenti le corrispondenti temperature, con il comando Matlab >>yy=spline(x,y,[12.5 19.5]) si ottiene ora temperatura errore 12,30 30.0440 0.0440 19,30 26.0466 0.0466

Valutiamo, inoltre, la spline S 3 (f ) nei punti [1.5 : 24.5] e disegnamo il grafico. >>xx=[1.5:24.5]; >>yy=spline(x,y,xx); >>plot(xx,yy) 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25