Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


matlab Lez6, Dispense di Analisi Matematica I

dispense matlab

Tipologia: Dispense

2014/2015

Caricato il 06/10/2015

ezio.farinola83
ezio.farinola83 🇮🇹

4.4

(22)

150 documenti

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Interpolazione polinomiale ed
approssimazione di funzioni.
Approssimazione di funzioni
Interpolazione composita
Spline
Lucia Gastaldi
Dipartimento di Matematica
http://dm.ing.unibs.it/gastaldi/
Lezione 6 (22 ottobre 2003)
Approssimazione polinomiale
Data una funzione gcontinua sun un intervallo chiuso e limitato
[a, b], poniamo
kgk= max
axb|g(x)|.
Teorema di Weierstrass
Sia f: [a, b]Runa funzione continua sull’intervallo chiuso e
limitato [a, b]. Allora per ogni ε > 0esiste un intero n=n(ε)e un
polinomio Pndi grado ntali che:
kf(x)Pn(x)kε.
1
Errore di approssimazione
Teorema stima dell’errore di interpolazione
Dati n+ 1 nodi di interpolazione xiper i= 0,1,· · · , n. Sia f
una funzione derivabile con continuit`a n+ 1 volte in un intervallo I
contenente tutti i nodi di interpolazione, allora per ogni xI, esiste
un punto ξItale che
En(x)=f(x)Πn(x) = f(n+1)(ξ)
(n+ 1)!
n
Y
i=0
(xxi).
2
Funzione di Runge
Si consideri la funzione di Runge
f(x) = 1
1 + 25x2, x [1,1].
Esercizio
Interpolare con polinomi di grado N= 5,10,15,20, la funzione
data, usando N+ 1 punti equispaziati nell’intervallo [1,1]. Con-
frontare il grafico di ciascun polinomio interpolatore con quello della
funzione data e calcolare per ciascun valore di Nl’errore kfΠnk.
3
pf3
pf4
pf5

Anteprima parziale del testo

Scarica matlab Lez6 e più Dispense in PDF di Analisi Matematica I solo su Docsity!

Interpolazione polinomiale ed

approssimazione di funzioni.

Approssimazione di funzioni

Interpolazione composita

Spline

Lucia Gastaldi

Dipartimento di Matematica

http://dm.ing.unibs.it/gastaldi/ Lezione 6 (22 ottobre 2003)

Approssimazione polinomiale

Data una funzione

g

continua sun un intervallo chiuso e limitato

[

a, b

]

, poniamo

g ‖ ∞

= max

a ≤

x ≤

b (^) | g ( x ) | .

Sia Teorema di Weierstrass

f

: [

a, b

]

R

una funzione continua sull’intervallo chiuso e

limitato

[

a, b

]

. Allora per ogni

ε >

esiste un intero

n

n ( ε )

e un

polinomio

P

n

di grado

n

tali che:

f (^) ( x ) (^) −

P

n ( x ) ‖ ∞

ε.

1

Errore di approssimazione

Teorema

stima dell’errore di interpolazione

Dati

n

nodi di interpolazione

x i

per

i

= 0

, n

Sia

f

una funzione derivabile con continuit`

a

n

volte in un intervallo

I

contenente tutti i nodi di interpolazione, allora per ogni

x

I

, esiste

un punto

ξ

I

tale che

E

n ( x )

=

f (^) ( x ) (^) −

n ( x ) =

f (^) ( n +1)

ξ )

n

  • 1)!

n

i ∏

x

x i ) .

2

Funzione di Runge

Si consideri la

funzione di Runge

f (^) ( x

) =

x 2 , x ∈ [

1]

Interpolare con polinomi di grado Esercizio

N

, la funzione

data, usando

N

punti equispaziati nell’intervallo

[

1]

Con-

funzione data e calcolare per ciascun valore difrontare il grafico di ciascun polinomio interpolatore con quello della

N

l’errore

f

(^) Π

n ‖ ∞

Soluzione dell’esercizio

errore=norm(abs(yy-px),inf);plot(x,y,’o’)plot(xx,px,’r’)hold onplot(xx,yy)figurepx=polyval(p,xx);p=polyfit(x,y,n);yy=1./(1+25xx.^2);xx=linspace(-1,1);y=1./(1+25x.^2);x=linspace(-1,1,n+1);% % xx punti in cui valutare la funzione e il polinomio% y valori della funzione% x nodi di interpolazione% n grado del polinomio interpolatore function [errore]=Runge(n)

4

Interpolazione di Chebyshev

Il fenomeno di Runge pu`

o essere evitato utilizzando

opportune

distribuzioni

di nodi.

Nell’intervallo

[

a, b

]

consideriamo i nodi

x i

dati da:

x i

=

a (^) +

b

b

a

ˆx i

con

ˆx i =

(^) cos(

n πi

) , i

,... , n.

I punti

ˆx i

si dicono

nodi di Chebyshev

Teorema di Bernstein

Sia

f

: [

a, b

]

R

una funzione continua.

Sia

n

il polinomio interpolatore di grado

n

costruito usando i nodi

di Chebyshev. Allora

lim

n →∞

f − Π n ‖ ∞

5

Esercizio

Data una funzione

f

: [

a, b

]

R

Scrivere una

function

che calcoli il polinomio interpolatore

P

n

di

grado

n

di

f (^) , usando i nodi di Chebyshev e calcoli l’errore

f

(^) P

n ‖ ∞

.

Riportare nella stessa figura il grafico della funzione

f

e del polinomio

interpolatore sull’intervallo

[

a, b

]

Input

a,b

estremi dell’intervallo

Input

n

grado del polinomio

Input

f

nome della funzione che si vuole interpolare.

Output

errore

‖ f − P n ‖ ∞.

Per calcolare l’errore usare la funzione

norm

come segue:

norm

vettore

inf

6

Soluzione dell’esercizio

% xn nodi di interpolazione;% f nome della funzione che si vuole interpolare% n grado del polinomio interpolatore% a,b estremi dell’intervallo di interpolazione function [errore]=chebyshev(a,b,n,f)

y valori della funzione

errore=norm(abs(yy-px),inf);plot(xn,y,’o’)plot(xx,px,’r’)hold onplot(xx,yy)figurepx=polyval(p,xx);p=polyfit(xn,y,n);x=xx; yy=eval(f);xx=linspace(a,b);x=xn; y=eval(f);endxn(i)=ab2-bamcos(pi(i-1)/n);for i=1:n+1ab2=(a+b)/2; bam=(b-a)/2;%% xx punti in cui valutare la funzione e il polinomio

7

x k 0 = ξ k

− 1 , x k 1 = ξ k

12

Stima dell’errore di approssimazione

Sia

H

= max

1 ≤

k ≤ m

( ξ k

ξ k −

1 ) .

Sia

f

una funzione continua

insieme alle sue derivate prima e seconda. Sia

g

il polinomio lineare

Per ognia tratti definito prima.

k

= 1

, m

esiste un punto

η k

[

ξ k − 1 , ξ

k ]

tale che

f (^) ( x

) −

g ( x ) =

f (^) ′′ ( η k )

x

x k 0 )(

x (^) −

x k 1 )

per

x

[

ξ k −

1 , ξ

k ] ,

da cui segue la seguente maggiorazione:

max

1 ≤

k ≤

m

max

ξ k − 1 ≤ x ≤

ξ k | f (^) ( x ) (^) −

g ( x ) |

max

1 ≤

k ≤

m

ξ k

(^) ξ

k −

1 ) 2

max

ξ k − 1 ≤ x ≤

ξ k | f (^) ′′ ( x ) | ≤

H

2

max

a ≤

x ≤

b (^) | f (^) ′′ ( x ) | .

13

Nel caso in cui

x k 0

=

ξ k − 1 e x k 1 = ξ k

si ottiene:

max

1 ≤

k ≤

m

max

ξ k − 1 ≤ x ≤ ξ k | f (^) ( x )

(^) g

( x

) |

max

1 ≤

k ≤

m

ξ k

ξ k −

1 ) 2

max

ξ k − 1 ≤

x ≤ ξ k | f (^) ′′ ( x ) |

H

2

max

a ≤

x ≤

b (^) | f (^) ′′ ( x ) | .

14

Polinomi a tratti di grado

n

In generale si costruisce in ciascun sottointervallo un polinomio di

grado

n

scegliendo

n

  • 1

nodi

x ki

, per

i

= 0

, n

Se

per

ogni

k

, m

i

nodi

x ki

,

con

i

, n

sono

tutti

interni all’intervallo

[

ξ k −

1 , ξ

k ] , allora il polinomio a tratti

presenta delle discontinuit`

a di tipo salto nei punti della partizione

ξ k

per

k

, m

Se

x k 0

=

ξ k −

1

e

x kn

ξ k , allora il polinomio a tratti risulta essere

una funzione continua.

15

Polinomi a tratti (le funzioni di base)

Si pu`

o costruire una base per i polinomi a tratti usando lo stesso

principio usato per i polinomi di Lagrange.

Fissato un nodo

x ki

per l’interpolazione a tratti, la corrispondente funzione di base

g ki

soddisfa:

g ki

( x `j

) =

se

` = k e j = i

se

`

k

o

j

6

i.

La function

base

disegna nell’intervallo

[

1]

(diviso in due parti)

le funzioni di base polinomiali a tratti continue di grado

n

. Si richiama

>> base(3)con il seguente comando:

16

Spline

Siano

x i ,

per

i

, n

n

nodi

distinti

e

ordinati

sull’intervallo

[

a, b

]

, tali che

a

=

x 0

< x

1

<

< x

n

=

b .

La funzione

s m

: [

a, b

]

R

`e una

funzione spline

di grado

m

relativa ai nodi

x i

se

s m

( x )

per

x

[

x i −

1 , x

i ] , i

= 1

, n

, `

e un polinomio di grado

m

La funzione

s m

`e

continua

sull’intervallo

[

a, b

]

insieme alle sue

derivate fino all’ordine

m

La spline

s 1

`e una funzione lineare a tratti continua.

La spline pi`

u usata `

e la

spline cubica

s 3 .

17

Costruzione della spline cubica interpolante

Dati

n

  • 1

punti distinti

x i , f

x i ))

, la spline cubica interpolante

si ottiene imponendo le seguenti condizioni:

s 3 ( x i ) =

f (^) ( x i )

per

i

= 0

, n,

lim

x →

x i−

s 3 ( x ) =

lim

x →

x i+

s 3 ( x ) ,

lim

x →

x i−

s 3 ′ ( x ) =

lim

x →

x i+

s 3 ′ ( x ) ,

lim

x →

x i−

s 3 ′′ (^) ( x ) =

lim

x →

x i+

s 3 ′′ (^) ( x ) .

Oss

le incognite sono

n

(4 coefficienti per ciascun intervallo

[

x i − 1 , x

i ] ). Le equazioni sono

n

n

(^) + 1

passaggi per i punti e 3

condizioni di continuit`

a in ciascun punto interno).

Restano libere 2

seconda si annulli negli estremi dell’intervallo (incognite che vengono fissate imponendo, ad esempio, che la derivata

s 3 ′′ (^) ( a ) =

s 3 ′′ (^) ( b ) = 0

); in

questo caso si parla di

spline cubica naturale

18

Le funzioni MATLAB per l’interpolazione

Funzione

Significato

interp

Interpolazione in una tabella di punti (1D).

interp1q

Interpolazione lineare (1D).

interpft

Interpolazione mediante il metodo FFT.

interp

Interpolazione in una tabella di punti (2D).

interp

Interpolazione in una tabella di punti (3D).

spline

Spline cubica interpolante.

griddata

Interpolazione e fitting per superfici.

19