Approssimazione con le splines. Approssimazione con le splines

Documenti analoghi
Calcolo Numerico A.A Lab. 6

Corso di Calcolo Scientifico

INTERPOLAZIONI CON SPLINE

Complementi di Matematica e Calcolo Numerico A.A

Interpolazione e approssimazione di funzioni

Interpolazione polinomiale. Interpolazione polinomiale

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

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

kπ cos, k = 0, 1, 2,, n (NB: sono n +1) n

Interpolazione polinomiale. Interpolazione polinomiale

Complementi di Matematica e Calcolo Numerico A.A Polinomi e vettori

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

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

Esercitazione 7: Aggiornamento minimi quadrati.

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

Analisi Numerica I Approssimazione polinomiale

Interpolazione composita di Lagrange

EQUAZIONI DIFFERENZIALI

Esercizio 1: Compressione utilizzando spline di grado il grafico dell errore tra funzione interpolante ed interpolata;

Calcolo Numerico - A.A Laboratorio 6

Interpolazione polinomiale a tratti

Corso di laurea in Informatica Calcolo Numerico Prof.ssa L. D Amore 12 Dicembre 2008 Esercizi di riepilogo tipo prova d esame

i = 0,...,N 1) siano polinomi di grado m = 3 e globalmente funzioni di classe C m 1 = C 2,

Lezione 3 Interpolazione Polinomiale.

Laboratorio di Matematica Computazionale A.A Lab. 9

Complementi di Matematica e Calcolo Numerico A.A

Interpolazione di dati

Esercizi Elaborato (versione )

Interpolazione polinomiale.

Anno accademico

Corso di laurea in Matematica Laboratorio di Programmazione e Calcolo Prof. A. Murli. Esercizi di riepilogo - LABORATORIO

Splines. Alvise Sommariva. Università degli Studi di Padova Dipartimento di Matematica Pura e Applicata. 21 novembre 2011

Approssimazione di dati e funzioni

UNIVERSITÀ DEGLI STUDI DI ROMA TOR VERGATA. Implementazione numerica di Spline Classiche Polinomiali, B-Spline e NURBS

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

Approssimazione di dati

Integrazione numerica

Interpolazione di Funzioni

generazione degli ingressi di riferimento per il sistema di controllo del moto

+ Analisi Numerica (1 modulo) Docente: M.Gaviano; domande di ripasso a.a

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 31 agosto 2011 Testo e soluzioni

Lezione 5, 5/11/2014

Curve Spline. Scelta dei valori dei nodi

Interpolazione e approssimazione di dati

Interpolazione e approssimazione di dati

Analisi Numerica: Introduzione

Polinomi. Poiché un polinomio di grado n ha n+1 coefficienti, ad un polinomio di grado n si associa un vettore di lunghezza n+1.

Approssimazione di dati

Approssimazione di dati

Laboratorio di Calcolo Numerico - Corso di Laurea in Matematica Appello d esame del 19/06/2012

Esercizi proposti di Analisi Numerica

Figura 1: Andamento della componente verticale del campo magnetico nel piano centrale, in funzione del raggio

Integrazione numerica

Scritto di Matematica per Biotecnologie Anno Accademico 2007/08 15/09/2008

Metodi Numerici con elementi di Programmazione (A.A )

Corso di Calcolo Numerico

Integrazione numerica

b vettore(termine noto) y* proiezione ortogonale di b

Interpolazione polinomiale. Gabriella Puppo

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

Calcolo Numerico - Prova Matlab 19 luglio 2013

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 19 settembre 2011

Algoritmi stabili e instabili

Complementi di Matematica e Calcolo Numerico A.A

Note sul teorema fondamentale e sulla formula fondamentale del calcolo integrale

Esercitazioni di Analisi Matematica FUNZIONI CUBICHE. Effettuare lo studio completo delle seguenti funzioni di terzo grado intere:

Il metodo di Galerkin Elementi Finiti Lineari

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011

Corso di Analisi Numerica

METODI DI COLLOCAZIONE POLINOMIALE (Metodi di Runge-Kutta continui) November 30, 2004

Minimi quadrati. Ángeles Martínez Calomardo e Alvise Sommariva. 4 dicembre Università degli Studi di Padova

Raccolta di Esercizi d esame ( di Calcolo Numerico) Prof. Laura Pezza. Equazioni non lineari

A.A Prof. R. Morandi

Corso di Modelli Numerici per i Campi. Interpolazione polinomiale. Giovanni Miano

Cognome: Nome: Matricola: Prima parte

Equazioni e sistemi non lineari

Fondamenti di Informatica A.A. 2016/17

p N (x i )= f i, i = 0,..., N. (1)

n (x i x j ), det V = i>j

Pianificazione di traiettorie

Istituzioni di Matematiche, Integrali fratti. corso di laurea in Scienze geologiche. Mauro Costantini

Se andiamo a calcolare le funzioni di base su ogni triangolo, la formulazione finale sarà: sul primo triangolo u 1 2 x 2y x sul secondo triangolo

ISTITUTO DI ISTRUZIONE SUPERIORE A. EINSTEIN PROGETTO LAUREE SCIENTIFICHE

SPLINES A. SOMMARIVA E M.VENTURIN

Analisi Numerica Corso di Laurea in Ingegneria Elettrotecnica

SPLINES A. SOMMARIVA E M.VENTURIN

15 LIMITI DI FUNZIONI

x i f(x i ) Soluzione: Primo metodo : interpolazione polinomiale, approccio di Newton ; Tavola delle differenze divise :

Analisi Numerica: quadratura

Interpolazione. Corso di Calcolo Numerico, a.a. 2008/2009. Francesca Mazzia. Dipartimento di Matematica Università di Bari.

Interpolazione ed approssimazione di funzioni

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione

ANALISI DI FOURIER. 2πk. è periodica di periodo T. Più precisamente, essendo. T x + 2π = cos. s(x) = s x + T ) T +α. f(x) dx

Transcript:

Splines Dato l intervallo [a, b], si consideri una successione finita di numeri reali (nodi) appartenenti all intervallo, tali che a = x 0 < x 1 < x 2 < < x m+1 = b Si individua in tal modo una partizione dell intervallo [a, b] in m + 1 sottointervalli I i = [x i, x i+1 ], i = 0,..., m.

Polinomi a pezzi 3 2.5 2 1.5 1 0.5 0 0.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 Figure: Polinomi a pezzi di grado 2

Splines Definizione Si dice funzione spline di grado n o di ordine n + 1 relativa alla partizione {x i } m+1 i=0 di [a, b], una funzione s(x) che soddisfa le seguenti due proprietà: 1 s(x) è un polinomio s i (x) di grado non superiore a n in ciascun sottointervallo I i della partizione (i = 0,..., m) 2 s(x) C n 1 ([a, b]), ossia la funzione e le sue derivate fino all ordine n 1 sono continue sull intervallo [a, b]; ciò significa che per ogni nodo interno alla partizione valgono le seguenti condizioni s (k) i (x i+1 ) = s (k) i+1 (x i+1), i = 0,..., m 1, k = 0, 1,.., n 1

Splines In altre parole, una spline s(x) entro ciascun intervallo I i è un polinomio di grado al più n che in ogni punto interno all intervallo è C e agli estremi coincide con il polinomio relativo all intervallo precedente (se esiste) e con quello dell intervallo successivo (se esiste) fino alla derivata (n 1) esima.

Splines 3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 Figure: Spline di grado 1

Splines 3.5 3 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Figure: Spline di grado 3

Spline interpolante Dati i punti (x i, y i ), i = 0,..., m + 1 Vogliamo trovare una spline di grado n tale che s(x i ) = y i. (1) La partizione con cui definisco la spline coincide con le ascisse x i.

Spline interpolante Generalmente si usano le spline di grado 3. Esse hanno la seguente proprietà: Tra tutte le funzioni f (x) C 2 [a, b] che soddisfano le condizioni di interpolazione (1) e le condizioni agli estremi scelte, le spline cubiche corrispondenti sono le sole funzioni che minimizzano l integrale E(f ) = b a [f (x)] 2 dx E(f ) rappresenta una misura approssimata della curvatura totale di f in [a, b]. Quindi la spline cubica è tra tutte le funzioni che passano per i dati assegnati quella che ha la curvatura media inferiore ed è la più liscia.

Spline interpolante 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Figure: Spline interpolante di grado 3 (blu) e polinomio interpolante (verde)

Comandi di Matlab x=ascisse dei punti da interpolare y=ordinate dei punti da interpolare xx=vettore di ascisse in cui valutare la spline interpolante yy=spline(x,y,xx) restituisce i valori della spline cubica interpolante (x,y) in xx calcolata con le condizioni agli estremi not a knot (nel secondo e penultimo nodo si impone la continuità della derivata terza)

Alcuni comandi del Toolbox splines csapi: spline cubica interpolante con condizioni not-a-knot PP = csapi(x,y) restituisce la spline cubica interpolante nella ppform (piecewise polynomial form). Per ottenere i valori della spline nei punti del vettore xx si usa il comando fnval: yy=fnval(pp,xx) Perché usare csapi al posto di spline? Perchè fornisce in PP i vari pezzi di polinomi che formano la spline... utile perché posso manipolarli calcolando derivate, integrali: dpp=fnder(pp) (comando per derivata) N.B. Per fare il plot della spline, i comandi plot(xx,yy) e fnplt(pp) sono equivalenti.

Alcuni comandi del Toolbox splines csape: fornisce la spline cubica interpolante, s(x), nella ppform con condizioni agli estremi dell intervallo [a, b] specificate dall utente. In particolare: pp=csape(x,y, v ) restituisce la spline naturale (s (a) = s (b) = 0) pp=csape(x,y, p ) restituisce la spline periodica (s (a) = s (b), s (a) = s (b)) pp=csape(x,[y (a) y y (b)], clamped ) restituisce la spline completa (s (a) = y (a), s (b) = y (b)) pp=csape(x,y, not a knot ) restituisce la spline not-a-knot

Spline ai minimi quadrati spap2 costruisce la spline di ordine k (espressa in termini della base B-spline associata a una data partizione) secondo il criterio dei minimi quadrati. x, y dati k = ordine (grado+1) knots=nodi della partizione che definiscono lo spazio delle spline che si vuole usare sp = spap2(knots,k,x,y) Esiste un unica soluzione se la partizione è tale da soddisfare la condizione di Whitney-Schomberg: le ascisse dei punti di interpolazione devono essere nella seguente relazione con i nodi knots(j) < x(j) < knots(j + k), j = 1,..., length(x) = length(knots) k. Problema: scelta dei nodi della partizione.

Volendo evitare di specificare il vettore dei nodi, si può usare il comando sp = spap2(n,k,x,y) dove n indica il numero di pezzi da cui deve essere costituita la spline ai minimi quadrati. Per valutare la spline in xx si usa sempre fnval(sp,xx) oppure spval(sp,xx).