Aproksimacija polinomima - PMF · Interpolacija Zadatak 1 Napišite funkciju koja ce ra´ cunati...

37
Aproksimacija polinomima 1 / 18

Transcript of Aproksimacija polinomima - PMF · Interpolacija Zadatak 1 Napišite funkciju koja ce ra´ cunati...

Aproksimacija polinomima

1 / 18

Taylorov polinom

Taylorov polinom

Taylorov polinom:

Tn(x) = f (x0)+f ′(x0)(x−x0)+f ′′(x0)

2!(x−x0)

2+. . .+f (n)(x0)

n!(x−x0)

n

Pogreška:

f (x)− Tn(x) =f (n+1)(ζ)

(n + 1)!(x − x0)

n+1

za neki ζ izmedu x i x0

Kada jelim

n→∞Tn(x) = f (x)?

2 / 18

Taylorov polinom

Taylorov polinom

Taylorov polinom:

Tn(x) = f (x0)+f ′(x0)(x−x0)+f ′′(x0)

2!(x−x0)

2+. . .+f (n)(x0)

n!(x−x0)

n

Pogreška:

f (x)− Tn(x) =f (n+1)(ζ)

(n + 1)!(x − x0)

n+1

za neki ζ izmedu x i x0

Kada jelim

n→∞Tn(x) = f (x)?

2 / 18

Taylorov polinom

Taylorov polinom

Taylorov polinom:

Tn(x) = f (x0)+f ′(x0)(x−x0)+f ′′(x0)

2!(x−x0)

2+. . .+f (n)(x0)

n!(x−x0)

n

Pogreška:

f (x)− Tn(x) =f (n+1)(ζ)

(n + 1)!(x − x0)

n+1

za neki ζ izmedu x i x0

Kada jelim

n→∞Tn(x) = f (x)?

2 / 18

Interpolacija

Interpolacija

Problem:Za dane

x0 < x1 < x2 < . . . < xn

iy0, y1, y2, . . . , yn

odrediti polinom P koji zadovoljava (interpolacijske) uvjete

P(xi) = yi , i = 0,1,2, . . . ,n.

Egzistencija: ∂P ≥ n

Jedinstvenost: ∂P = n

3 / 18

Interpolacija

Interpolacija

Problem:Za dane

x0 < x1 < x2 < . . . < xn

iy0, y1, y2, . . . , yn

odrediti polinom P koji zadovoljava (interpolacijske) uvjete

P(xi) = yi , i = 0,1,2, . . . ,n.

Egzistencija:

∂P ≥ n

Jedinstvenost: ∂P = n

3 / 18

Interpolacija

Interpolacija

Problem:Za dane

x0 < x1 < x2 < . . . < xn

iy0, y1, y2, . . . , yn

odrediti polinom P koji zadovoljava (interpolacijske) uvjete

P(xi) = yi , i = 0,1,2, . . . ,n.

Egzistencija: ∂P ≥ n

Jedinstvenost: ∂P = n

3 / 18

Interpolacija

Interpolacija

Problem:Za dane

x0 < x1 < x2 < . . . < xn

iy0, y1, y2, . . . , yn

odrediti polinom P koji zadovoljava (interpolacijske) uvjete

P(xi) = yi , i = 0,1,2, . . . ,n.

Egzistencija: ∂P ≥ n

Jedinstvenost:

∂P = n

3 / 18

Interpolacija

Interpolacija

Problem:Za dane

x0 < x1 < x2 < . . . < xn

iy0, y1, y2, . . . , yn

odrediti polinom P koji zadovoljava (interpolacijske) uvjete

P(xi) = yi , i = 0,1,2, . . . ,n.

Egzistencija: ∂P ≥ n

Jedinstvenost: ∂P = n

3 / 18

Interpolacija

Interpolacija

Problem:Za dane

x0 < x1 < x2 < . . . < xn

iy0, y1, y2, . . . , yn

odrediti polinom P koji zadovoljava (interpolacijske) uvjete

P(xi) = yi , i = 0,1,2, . . . ,n.

Egzistencija: ∂P ≥ n

Jedinstvenost: ∂P = n

3 / 18

Interpolacija

Odredivanje polinoma.

Najjednostavniji pristup:

P(x) = a0 + a1x + . . .+ anxn

iP(xi) = yi , i = 0,1,2, . . . ,n.

povlace

a0 + a1xi + . . .+ anxni = yi i , i = 0,1,2, . . . ,n.

Sustav jednadžbiVa = y

4 / 18

Interpolacija

Odredivanje polinoma.

Najjednostavniji pristup:

P(x) = a0 + a1x + . . .+ anxn

iP(xi) = yi , i = 0,1,2, . . . ,n.

povlace

a0 + a1xi + . . .+ anxni = yi i , i = 0,1,2, . . . ,n.

Sustav jednadžbiVa = y

4 / 18

Interpolacija

Odredivanje polinoma.

Najjednostavniji pristup:

P(x) = a0 + a1x + . . .+ anxn

iP(xi) = yi , i = 0,1,2, . . . ,n.

povlace

a0 + a1xi + . . .+ anxni = yi i , i = 0,1,2, . . . ,n.

Sustav jednadžbiVa = y

4 / 18

Interpolacija

V =

1 x0 x2

0 · · · xn0

1 x1 x21 · · · xn

1...

......

...1 xn−1 x2

n−1 · · · xnn−1

1 xn x2n · · · xn

n

Vandermondeova matrica

Regularna:det V =

∏1≤i<j≤n

(xj − xi)

Loše uvjetovana

5 / 18

Interpolacija

V =

1 x0 x2

0 · · · xn0

1 x1 x21 · · · xn

1...

......

...1 xn−1 x2

n−1 · · · xnn−1

1 xn x2n · · · xn

n

Vandermondeova matrica

Regularna:det V =

∏1≤i<j≤n

(xj − xi)

Loše uvjetovana

5 / 18

Interpolacija

V =

1 x0 x2

0 · · · xn0

1 x1 x21 · · · xn

1...

......

...1 xn−1 x2

n−1 · · · xnn−1

1 xn x2n · · · xn

n

Vandermondeova matrica

Regularna:det V =

∏1≤i<j≤n

(xj − xi)

Loše uvjetovana

5 / 18

Interpolacija

Lagrangeova forma

Li(x) =∏j 6=i

x − xj

xi − xj

=(x − x0)(x − x1) . . . (x − xi−1)(x − xi+1) . . . (x − xn)

(xi − x0)(xi − x1) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn)

Li(xj) = δij =

{1 za i = j0 za i 6= j

P(x) =n∑

i=0

yjLj(x)

Neprakticno. Za racunanje P(x) treba previše racunskih operacija.Koristi se za teorijska razmatranja.

6 / 18

Interpolacija

Lagrangeova forma

Li(x) =∏j 6=i

x − xj

xi − xj

=(x − x0)(x − x1) . . . (x − xi−1)(x − xi+1) . . . (x − xn)

(xi − x0)(xi − x1) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn)

Li(xj) = δij =

{1 za i = j0 za i 6= j

P(x) =n∑

i=0

yjLj(x)

Neprakticno. Za racunanje P(x) treba previše racunskih operacija.Koristi se za teorijska razmatranja.

6 / 18

Interpolacija

Lagrangeova forma

Li(x) =∏j 6=i

x − xj

xi − xj

=(x − x0)(x − x1) . . . (x − xi−1)(x − xi+1) . . . (x − xn)

(xi − x0)(xi − x1) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn)

Li(xj) = δij =

{1 za i = j0 za i 6= j

P(x) =n∑

i=0

yjLj(x)

Neprakticno. Za racunanje P(x) treba previše racunskih operacija.Koristi se za teorijska razmatranja.

6 / 18

Interpolacija

Lagrangeova forma

Li(x) =∏j 6=i

x − xj

xi − xj

=(x − x0)(x − x1) . . . (x − xi−1)(x − xi+1) . . . (x − xn)

(xi − x0)(xi − x1) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn)

Li(xj) = δij =

{1 za i = j0 za i 6= j

P(x) =n∑

i=0

yjLj(x)

Neprakticno. Za racunanje P(x) treba previše racunskih operacija.

Koristi se za teorijska razmatranja.

6 / 18

Interpolacija

Lagrangeova forma

Li(x) =∏j 6=i

x − xj

xi − xj

=(x − x0)(x − x1) . . . (x − xi−1)(x − xi+1) . . . (x − xn)

(xi − x0)(xi − x1) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn)

Li(xj) = δij =

{1 za i = j0 za i 6= j

P(x) =n∑

i=0

yjLj(x)

Neprakticno. Za racunanje P(x) treba previše racunskih operacija.Koristi se za teorijska razmatranja.

6 / 18

Interpolacija

Newtonova forma

Podijljene razlike:

f [xk ] = f (xk )

f [x0, x1, . . . , xn−1, xn] =f [x1, . . . , xn−1, xn]− f [x0, x1, . . . , xn−1]

xn − x0

Interpolacijski polinom:

P(x) = f [x0] + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1) +

. . .+ f [x0, x1, x2, . . . , xn](x − x0)(x − x1) . . . (x − xn−1)

7 / 18

Interpolacija

Newtonova forma

Podijljene razlike:

f [xk ] = f (xk )

f [x0, x1, . . . , xn−1, xn] =f [x1, . . . , xn−1, xn]− f [x0, x1, . . . , xn−1]

xn − x0

Interpolacijski polinom:

P(x) = f [x0] + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1) +

. . .+ f [x0, x1, x2, . . . , xn](x − x0)(x − x1) . . . (x − xn−1)

7 / 18

Interpolacija

Pogreška interpolacije

f (x)− Pn(x) =f (n+1)(ζ)

(n + 1)!(x − x0)(x − x1) . . . (x − xn−1)(x − xn)

8 / 18

Interpolacija

Zadatak 1

Napišite funkciju koja ce racunati aproksimaciju eksponencijalnefunkcije pomocu Taylorovog polinoma n-tog stupnja:

exp x ≈ 1 + x +x2

2!+

x3

3!+ . . .+

xn

n!=

n∑i=0

x i

i!

Dobiveni rezultat usporedite s egzaktnom vrijednošcu. Nacrtajterješenje i aproksimaciju na intervalu [0,10].

Nacrtajte pogrešku na intervalu [0,10].

Pomocpolyval(pol_coef,x)

9 / 18

Interpolacija

Rješenje.

tay=n:-1:0;tay= factorial(tay).(-1);t=1:0.01:10;y=polyval(tay,t);e=exp(t);err = log(e-y);plot(t,y,t,e)plot(t,err)

10 / 18

Interpolacija

Rješenje.tay=n:-1:0;tay= factorial(tay).(-1);t=1:0.01:10;y=polyval(tay,t);e=exp(t);err = log(e-y);plot(t,y,t,e)plot(t,err)

10 / 18

Interpolacija

Zadatak 2

Za ekvidistantno izabrane tocke generirajte Vandermondeovu matricu iizracunajte broj uvjetovanosti za razlicite n.

V =

1 x0 x2

0 · · · xn0

1 x1 x21 · · · xn

1...

......

...1 xn−1 x2

n−1 · · · xnn−1

1 xn x2n · · · xn

n

11 / 18

Interpolacija

Zadatak 3

Za zadane nizove tocaka x i vrijednosti y napišitefunkciju koja ce racunati podijeljene razlike f [x0, x1, x2, . . . , xk ] ,k = 0, . . . ,n;funkciju koja ce za zadani t racunati P(t), vrijednostinterpolacijskog polinoma u tocki t .

12 / 18

Interpolacija

Pomoc

Podijeljene razlike:f = yfor i=2:n+1for j= n+1:-1:if(j) = ( f(j)-f(j-1))/(x(j)-x(j-i))

endend

Hornerov algoritamp= f(n+1)for i=n:-1:1p = p *(x-x(i))+f(i)

end

13 / 18

Interpolacija

Pomoc

Podijeljene razlike:f = yfor i=2:n+1for j= n+1:-1:if(j) = ( f(j)-f(j-1))/(x(j)-x(j-i))

endend

Hornerov algoritamp= f(n+1)for i=n:-1:1p = p *(x-x(i))+f(i)

end

13 / 18

Interpolacija

Zadatak 4

Napišite funkciju koja ce racunati interpolacijski polinomeksponencijalne funkcije na intervalu [0,10] koristeci ekvidistantnetocke interpolacije.

Nacrtajte graf funkcije i interpolacijskog polinoma.

Nacrtajte graf pogreške.

Kako se pogreška ponaša povecanjem broja tocaka?

14 / 18

Interpolacija

Zadatak 5

Napišite funkciju koja ce racunati interpolacijski polinom funkcije

f (x) =1

1 + x2

na intervalu [-5,5] koristeci ekvidistantne tocke interpolacije.

Nacrtajte graf funkcije i interpolacijskog polinoma.

Nacrtajte graf pogreške.

Kako se pogreška ponaša povecanjem broja tocaka?

15 / 18

Interpolacija

Zadatak 6

Nacrtajte graf funkcije

ω(x) = (x − x0)(x − x1) . . . (x − xn)

za ekvidistantno izabrane tocke xi na intervalu [0,1];za Cebiševljeve tocke na intervalu [0,1].

Pomoc

Cebiševljeve tocke na intervalu [a,b]:

tk =a + b

2+

b − a2

cos(2(n − k) + 1)π

2n + 2, k = 0, . . .n.

16 / 18

Interpolacija

Zadatak 6

Nacrtajte graf funkcije

ω(x) = (x − x0)(x − x1) . . . (x − xn)

za ekvidistantno izabrane tocke xi na intervalu [0,1];za Cebiševljeve tocke na intervalu [0,1].

Pomoc

Cebiševljeve tocke na intervalu [a,b]:

tk =a + b

2+

b − a2

cos(2(n − k) + 1)π

2n + 2, k = 0, . . .n.

16 / 18

Interpolacija

Zadatak 7

Napišite funkciju koja ce racunati interpolacijski polinomeksponencijalne funkcije na intervalu [0,10] koristeci Cebiševljevetocke interpolacije.

Nacrtajte graf funkcije i interpolacijskog polinoma.

Nacrtajte graf pogreške.

Kako se pogreška ponaša povecanjem broja tocaka?

17 / 18

Interpolacija

Zadatak 8

Napišite funkciju koja ce racunati interpolacijski polinom funkcije

f (x) =1

1 + x2

na intervalu [-5,5] koristeci Cebiševljeve tocke interpolacije.

Nacrtajte graf funkcije i interpolacijskog polinoma.

Nacrtajte graf pogreške.

Kako se pogreška ponaša povecanjem broja tocaka?

18 / 18