Interpolazione polinomiale.

Documenti analoghi
Interpolazione polinomiale.

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

Minimi quadrati in Matlab

Interpolazione e approssimazione di dati

Interpolazione e approssimazione di dati

Lezione 6 e 7, /11/2014

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

Interpolazione e approssimazione di funzioni

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

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

Analisi Numerica I Approssimazione polinomiale

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.

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

Interpolazione polinomiale. Interpolazione polinomiale

Interpolazione polinomiale

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

ISTITUTO DI ISTRUZIONE SUPERIORE A. EINSTEIN PROGETTO LAUREE SCIENTIFICHE

Interpolazione polinomiale. Interpolazione polinomiale

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

Esercitazione 7: Aggiornamento minimi quadrati.

Laboratorio di Calcolo Numerico Approssimazione ai minimi quadrati

Complementi di Matematica e Calcolo Numerico A.A

Interpolazione spline in Matlab

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

Interpolazione polinomiale. Gabriella Puppo

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

Approssimazione di dati e funzioni

Approssimazione polinomiale 1

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

Dipartimento di Ingegneria Industriale DII Anno Accademico 2018/19 Registro lezioni del docente SOMMARIVA ALVISE

Matlab: complessità e stabilità degli algoritmi. Alcuni esempi.

Alcuni esperimenti in Matlab relativi alla teoria degli errori

Complementi di Matematica e Calcolo Numerico A.A

Metodi iterativi per equazioni nonlineari.

Corso di Analisi Numerica

Interpolazione polinomiale

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

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

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

Esame di Calcolo Numerico per Informatica A.A. 2010/11: testo soluzioni Proff. S. De Marchi e M. R. Russo 12 luglio 2011

Diario delle lezioni di Analisi Numerica laurea Magistrale in Statistica e Informatica A.A

Capitolo 2. Equazioni non lineari. 2.1 Metodo di bisezione. 2.2 Ordine dei metodi

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Lezione 3 Interpolazione Polinomiale.

Si chiamano n nodi di Chebyshev gli zeri del polinomio di) n T n (x) = cos(n arccos(x)). Dunque, x j+1 = cos, j = 0,...,n 1.

Implementazione degli algoritmi.

Interpolazione di dati

Prova di recupero sui capitoli 4 6

Diario delle lezioni di Analisi Numerica laurea Magistrale in Statistica e Informatica A.A

Quali condizionisi si possono richiedere sulla funzione interpolante?

INTERPOLAZIONI CON SPLINE

Approssimazione con le splines. Approssimazione con le splines

Calcolo Numerico. Esercitazioni (A.A ) Lezione n. 16 Approssimazione

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

Esercitazione 1 Conversione di base

Interpolazione. Davide Manca Calcoli di Processo dell Ingegneria Chimica Politecnico di Milano

g(x) = arctan(1.5x 0.1)

Foglio Esercizi A (interpolazione, approssimazione, integrazione)

Interpolazione ed approssimazione di funzioni

Esame di Calcolo Numerico per Informatica Prof. S. De Marchi Padova, 2 settembre 2013

Esercizi Elaborato (versione )

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

Corso di Calcolo Numerico

Esercizi proposti di Analisi Numerica

Corso di Matematica per la Chimica

Esercitazione 1 Conversione di base

Interpolazione composita di Lagrange

Esercitazione 7 Maggio

Esame di Calcolo Numerico per Informatica Prof. S. De Marchi Padova, 11 dicembre x k 1 x k 2

Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari. MATLAB: analisi degli errori

SCILAB: Analisi degli errori

ISTRUZIONI PER LA CONSEGNA DEI FILE MATLAB

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

Complementi di Matematica e Calcolo Numerico A.A

Matlab. Istruzioni condizionali, cicli for e cicli while.

Emma Perracchione A.A. 2018/2019

Prove d esame Esercizi con Matlab

Calcolo Numerico A.A Lab. 6

CORSO DI LAUREA IN INFORMATICA CALCOLO NUMERICO Secondo esonero - 07 Giugno x y =2.

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

INTERPOLAZIONE. Introduzione

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

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

Lezione 4 Quadratura Numerica. Fernando Palombo

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

Corso di Calcolo Scientifico

Introduzione allo Scilab Parte 5: funzioni su matrici; intervalli, grafici.

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

Approssimazione numerica

Alcuni esercizi in preparazione all appello scritto di Calcolo Numerico

Approssimazione di dati e funzioni

Laboratorio computazionale numerico Lezione 8

CAMPO DI ESISTENZA. Poiché la funzione data è polinomiale, essa risulta definita su tutto l asse reale, cioè: C.E. = {x R: < x < + } 2 x1,2 C +

Lezione 5, 5/11/2014

Approssimazione di dati

Esempi. nel testo di Barone et al.:

Integrazione numerica

Integrazione numerica

Transcript:

Interpolazione polinomiale. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica April 11, 2017 Alvise Sommariva Introduzione 1/ 14

Introduzione In questa lezione desideriamo introdurre dei metodi per determinare l interpolante polinomiale di grado n, nei nodi a due a due distinti x 0,..., x n, di una funzione continua f : [a, b] R, ovvero p n P n tale che Mostreremo come farlo mediante p n (x i ) = f (x i ), i = 0,..., n. la formulazione di Newton di p n e la valutazione di p n in un punto x mediante l algoritmo di Horner; le routines Matlab polyfit, polyval. Alvise Sommariva Introduzione 2/ 14

Differenze divise Siano f : [a, b] R una funzione continua; x 0,..., x n nodi a due a due distinti. Dati x 0,..., x k {x 0,..., x n }, a due a due distinti, la quantità { f [x 1,...,x k ] f [x 0,...,x k 1 ] f [x0,..., xk ] = xk se k > 0 x 0 f [x0 ] = f (x 0) altrimenti, si chiamano differenze divise. Alvise Sommariva Introduzione 3/ 14

Differenze divise Il polinomio p n, descritto nella formulazione di Newton p n (x) = è tale che n f [x 0,..., x k ](x x 0 )... (x x k 1 ) k=0 p n (x k ) = f (x k ), k = 0,..., n. Risulta quindi rilevante calcolare f [x 0,..., x k ] per k = 0,..., n. Alvise Sommariva Introduzione 4/ 14

Differenze divise e polinomio interpolatore Il polinomio p n, descritto nella formulazione di Newton n p n (x) = f [x 0,..., x k ](x x 0 )... (x x k 1 ) k=0 è tale che p n (x k ) = f (x k ), k = 0,..., n. Alvise Sommariva Introduzione 5/ 14

Differenze divise e polinomio interpolatore Un pseudocodice è il seguente, dove c k = f [x 0,..., x k ]. c(0) = f(x(0)) for i = 1,..., n d = x(i) - x(i-1) u = c(i-1) for j = i - 2,..., 0 step -1 u = u * (x(i) - x(j)) + c(j) d = d * (x(i) - x(j)) end for j c(i) = (f(x(i)) - u)/d end for i Alvise Sommariva Introduzione 6/ 14

Differenze divise e polinomio interpolatore: esercizio Si implementi un codice Matlab/Octave che calcola tali coefficienti c(0),..., c(n), utilizzando quale intestazione: function c = polnewton (x,y) % POLNEWTON Calcola i coefficienti del polinomio interpolatore % utilizzando la forma di Newton % % Uso: % c = polnewton (x,y) % % Dati di ingresso: % x vettore dei nodi % y vettore dei valori della funzione da interpolare nei nodi % % Dati di uscita: % c vettore colonna dei coefficienti ordinati per indici % crescenti (c_0, c_1,... ) Alvise Sommariva Introduzione 7/ 14

Differenze divise e polinomio interpolatore: esercizio Nota. Si osservi che il precedente pseudocodice non calcola le differenze divise attraverso una tabella, ma calcola esclusivamente i coefficienti utili per la determinazione del polinomio interpolatore. Alvise Sommariva Introduzione 8/ 14

Differenze divise e polinomio interpolatore: esercizio Alcune avvertenze: ricordare che in Matlab gli indici dei vettori cominciano da 1 e non da 0; ricordare che per avere uno step di 1 nel ciclo for, bisogna effettuare una chiamata del tipo: for j = i:-1:1... end Alvise Sommariva Introduzione 9/ 14

Differenze divise e polinomio interpolatore: esercizio Per valutare il polinomio interpolatore p n (x ) = n c k (x x 0 ) (x x k 1 ) k=0 in un generico punto x si usa l algoritmo di Horner (che richiede 2n addizioni e n moltiplicazioni). Un pseudocodice è il seguente u = c(n) for j = n - 1,..., 0 step -1 u = u * (x - x(j)) + c(j) end for j Alvise Sommariva Introduzione 10/ 14

Differenze divise e polinomio interpolatore: esercizio Si implementi un codice Matlab/Octave che valuta il polinomio p n in un vettore di ascisse x, utilizzando quale intestazione: function fxstar = horner (x,c,xstar) % HORNER Calcola il valore del polinomio interpolatore in x^* % utilizzando la forma di Newton e l algoritmo di Horner % % Uso: % fxstar = horner (x,c,xstar) % % Dati di ingresso: % x vettore dei nodi % c vettore dei coefficienti della forma di Newton % ordinati per indici crescenti (c_0, c_1,... ) % xstar valore in cui si vuole valutare il polinomio % % Dati di uscita: % fxstar valore di P(x^*) Alvise Sommariva Introduzione 11/ 14

I comandi polyfit e polyval Il comando Matlab polyfit viene utilizzato per determinare i coefficienti del polinomio interpolante le coppie (x k, y k ) per k = 0,..., n >> help polyfit polyfit Fit polynomial to data. P = polyfit(x,y,n) finds the coefficients of a polynomial P(X) of degree N that fits the data Y best in a least-squares sense. P is a row vector of length N+1 containing the polynomial coefficients in descending powers, P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1). Si noti che il vettore p codifica il polinomio interpolatore di grado n p(x) = p 1 x n + p 2 x n 2 +... + p n+1. Alvise Sommariva Introduzione 12/ 14

I comandi polyfit e polyval Noto il vettore p è possibile valutare il polinomio associato p(x) = n+1 i=1 p ix n i+1 nelle ascisse x mediante polyval >> help polyval polyval Evaluate polynomial. Y = polyval(p,x) returns the value of a polynomial P evaluated at X. P is a vector of length N+1 whose elements are the coefficients of the polynomial in descending powers. Y = P(1)*X^N + P(2)*X^(N-1) +... + P(N)*X + P(N+1) Si noti che nel caso di più valori di ascisse da valutare x i, si ha che p(x i ) = y i, essendo x i, y i rispettivamente la i-sima componente dei vettori x, y. Alvise Sommariva Introduzione 13/ 14

Esercizio Si adatti il pseudocodice c(0) = f(x(0)) for i = 1,..., n d = x(i) - x(i-1) u = c(i-1) for j = i - 2,..., 0 step -1 u = u * (x(i) - x(j)) + c(j) d = d * (x(i) - x(j)) end for j c(i) = (f(x(i)) - u)/d end for i al caso in cui gli n + 1 nodi in [a, b] siano equispaziati con a = x 0, e b = x n in cui cioè x k = a + kh, con k = 0,..., n, h = (b a)/n. Alvise Sommariva Introduzione 14/ 14