background image

IV Tutorial z Metod 
Obliczeniowych

Interpolacja i 

aproksymacja

Karol Daszkiewicz
Koło Naukowe Mechaniki Budowli KoMBo

background image

Interpolacja - wstęp

Celem  interpolacji  jest  wyznaczenie  wartości  funkcji 
na  zadanym  przedziale  [a,b],  gdy  znane  są  jej 
wartości  tylko  na  brzegach  przedziału  oraz  dla 
pewnej liczby punktów z tego przedziału.

background image

Interpolacja - wstęp

- interpolację stosuje się dla niewielkiej 

liczby punktów pomiarowych

- najczęściej  wykorzystuje  się  kilka 

funkcji 

przybliżających, 

gdyż 

znalezienie jednej funkcji dla większej 
liczby  punktów  jest  trudne  lub  wręcz 
niemożliwe

- poszukiwana  funkcja  interpolacyjna 

lub  funkcje  interpolacyjne  muszą 
przechodzić  przez  wszystkie  punkty 
pomiarowe

background image

Interpolacja - zastosowanie

- interpolacja  służy  najczęściej  do 

wyznaczenia  wartości  funkcji  w 
punktach pośrednich

- pozwala 

zastąpić 

skomplikowany 

wzór    funkcjami  prostszymi  np. 
liniowymi

- w  praktyce  inżynierskiej  interpolacja 

jest stosowana przy obróbce wyników 
badań  doświadczalnych,  np.  przy 
zagadnieniach 

identyfikacji 

właściwości materiałowych

background image

Rodzaje interpolacji

Przeprowadzenie  interpolacji  wymaga 
przyjęcia  pewnej  z  góry  założonej 
postaci 

poszukiwanej 

funkcji. 

zależności od tej postaci najczęściej się 
stosuje interpolacje:

wielomianową 

Newtona 

(liniowa, 

kwadratowa, sześcienna …)

wielomianową Czebyszewa

wielomianową Hermite’a

wielomianową Lagrange’a

trygonometryczną 

(np. 

szeregami 

Fouriera)

background image

Zagadnienie interpolacyjne

background image

Interpolacja liniowa

background image

Interpolacja liniowa

background image

Interpolacja liniowa

background image

Interpolacja kwadratowa

background image

Interpolacja kwadratowa

background image

Interpolacja kwadratowa

background image

Interpolacja kwadratowa

background image

Interpolacja kwadratowa

background image

Interpolacja Newtona dla 

wielomianu dowolnego stopnia

( )

(

)

(

) (

)

(

)

0

1

0

0

1

1

-

= +

-

+ +

-

-

-

K

L

n

n

F x

b b x x

b x x

x x

x x

background image

Interpolacja Newtona dla 

wielomianu dowolnego stopnia

( )

0

0

b

f x

=

[

]

1

1

0

,

b

f x x

=

[

]

2

2

1

0

, ,

b

f x x x

=

M

[

]

1

1

0

,

, , ,

n

n

n

b

f x x

x x

-

=

K

background image

Interpolacja Newtona dla 

wielomianu dowolnego stopnia

Gdzie funkcje z nawiasami kwadratowymi 
oblicza się z zależności rekurencyjnych:

( )

( )

,

i

j

i

j

i

j

f x

f x

f x x

x x

-

�=

-

,

,

, ,

i

j

j

k

i

j

k

i

k

f x x

f x x

f x x x

x x

� �

-

� �

�=

-

M

[

]

[

]

[

]

1

1

1

2

0

1

1

0

0

,

, ,

,

, ,

,

,

,

n

n

n

n

n

n

n

f x x

x

f x

x

x

f x x

x x

x

x

-

-

-

-

-

=

-

K

K

K

background image

Interpolacja sześcienna

Interpolacja sześcienna jest szczególnym 
przypadkiem interpolacji Newtona dla n=3:

( )

(

)

(

) (

) (

)

0

1

0

3

0

1

2

= +

-

+ +

-

-

-

K

F x

b b x x

b x x

x x x x

background image

Interpolacja sześcienna

( )

0

0

b

f x

=

[

]

1

1

0

,

=

=

b

f x x

[

]

2

2

1

0

, ,

=

=

b

f x x x

[

]

3

3

2

1

0

, , ,

=

=

b

f x x x x

[

]

3

2

1

, ,

=

f x x x

[

]

2

1

,

=

f x x

[

]

3

2

,

=

f x x

background image

Interpolacja – treść zadania

POLECENIE:

Posługując się gotowym algorytmem interpolacji lub 
aproksymacji funkcji znaleźć podane w treści zadania 
wartości zadanej funkcji.

1.Na podstawie algorytmu podanego w skrypcie 
napisać funkcję interpolującą lub aproksymującą.
2.Współrzędne zadanych i poszukiwanych punktów  
zapisać w zbiorze dane1.m
3.Napisać program wczytujący zbiór z danymi, a 
następnie posługując się zdefiniowaną funkcją 
wyznaczyć wartości funkcji w zadanych punktach.
4.Sporządzić wykres przedstawiający funkcję z 
zaznaczonymi punktami zadanymi i wyliczonymi .

background image

Interpolacja – algorytm 

rozwiązania

Wczytanie danych w programie:

Na laboratorium 
dane należy 
wczytywać z pliku 
dane1.m.

Wyznaczenie brzegów 
przedziału [minx,maxx]. 
Wczytanie do zmiennej n 
liczby punktów 
poszukiwanych. 

background image

Interpolacja liniowa – algorytm 

rozwiązania

Obliczenie współrzędnych poszukiwanych 
punktów:

Zaimplementowanie do 
programu wzoru:

Sprawdzenie czy 
punkt należy do 
przedziału 
[minx,maxx].

Obliczenie numeru najmniejszego 
elementu większego od 
poszukiwanego punktu

Potrzeba stworzenia funkcji 
interpolacyjnej !!!

background image

Interpolacja kwadratowa – algorytm 

rozwiązania

Obliczenie współrzędnych poszukiwanych 
punktów:

Sprawdzenie czy 
punkt należy do 
przedziału 
[minx,maxx].

Obliczenie numeru najmniejszego 
elementu większego od 
poszukiwanego punktu

Uruchomienie funkcji interpolującej dwumian, przekazanie do niej 
współrzędnych danych punktów oraz odciętych punktów 
poszukiwanych.

background image

Interpolacja kwadratowa – algorytm 

rozwiązania

Funkcja interpolująca dwumian():

Wykorzystanie w funkcji dwumian() wcześniej 
zaprezentowanych wzorów:

( )

2

0

1

2

f x

a

a x a x

= +

+

0

0

1

1

2

1

n

n

n

a

b bx

b x x

-

-

= -

+

1

1

2

1

2

n

n

a

b b x

b x

-

= -

-

2

2

a

b

=

background image

Interpolacja

 

sześcienna – algorytm 

rozwiązania

Obliczenie współrzędnych poszukiwanych 
punktów:

Sprawdzenie czy punkt 
należy do przedziału 
[minx,maxx].

Obliczenie numeru najmniejszego 
elementu większego od 
poszukiwanego punktu

Uruchomienie funkcji interpolującej cub, przekazanie do niej 
współrzędnych danych punktów oraz odciętych punktów 
poszukiwanych.

background image

Interpolacja – 

algorytm

 rozwiązania

Funkcja interpolująca cub():

Wykorzystanie w funkcji cub() wcześniej zaprezentowanych 
wzorów:

( )

0

0

b

f x

=

[

]

1

1

0

,

=

=

b

f x x

[

]

2

2

1

0

, ,

=

=

b

f x x x

[

]

3

3

2 1

0

, , ,

=

=

b

f x x x x

[

]

3

2

1

, ,

=

f x x x

[

]

2

1

,

=

f x x

[

]

3

2

,

=

f x x

background image

Interpolacja kwadratowa – algorytm 

rozwiązania

Sporządzenie wykresu:

- wypisanie wyników w Command 
Window

 Narysowanie punktów danych oraz wyliczonych z 
interpolacji

Dla interpolacji liniowej łatwo można narysować 
przebieg funkcji, gdyż wystarczy połączyć dane w 
zadaniu punkty.

background image

Interpolacja – wynik rozwiązania metodą 

numeryczną

dla interpolacji liniowej

background image

Aproksymacja - wstęp

Celem  aproksymacji  jest  wyznaczenie  przybliżonego 
przebiegu    funkcji  dla  danego  zbioru  punktów,  w 
których  znane  są  wartości  funkcji  (np.  punkty 
pomiarowe).

background image

Aproksymacja - wstęp

- aproksymację 

stosuje 

się 

dla 

znacznej 

liczby 

punktów 

pomiarowych

- w  aproksymacji  poszukuje  się  jednej 

funkcji  przybliżającej,  która  nie  musi 
przechodzić  przez  wszystkie  punkty 
pomiarowe 

- wobec  tego  w  każdym  punkcie 

pomiarowym  pojawia  się  różnica 
(błąd)  między  wartością  pomierzonej 
funkcji 

wartością 

funkcji 

aproksymującej

background image

Aproksymacja – kryteria błędów

W  aproksymacji  poszukuje  się  takiej 
funkcji  przybliżającej,  dla  której  błąd 
przybliżenia  punktów  pomiarowych 
będzie najmniejszy. 

Najczęściej stosowane kryteria błędów:
-   kryterium minimum sumy błędów

kryterium 

minimum 

wartości 

bezwzględnej błędów

-kryterium 

minimum 

błędu 

maksymalnego

-kryterium 

minimum 

sumy 

kwadratów błędów

background image

Aproksymacja – kryteria błędów

Dla liniowej funkcji aproksymującej:

0

1

= +

+

y a

a x e

Kryteria obliczania błędu:

0

1

= -

-

i

i

i

e

y a

a x

Definiowane są następująco:

Minimum sumy błędów:

(

)

0

1

1

1

n

n

i

i

i

i

i

e

y a

a x

=

=

=

-

-

� �

Minimum sumy wartości bezwzględnych błędów:

0

1

1

1

n

n

i

i

i

i

i

e

y a

a x

=

=

=

-

-

Kryterium minimum błędu maksymalnego (tzw. 
Kryterium „minimax”):

1 2

min(max( , , , ))

n

e e

e

K

background image

Aproksymacja – kryteria błędów

Minimum sumy kwadratów – metoda najmniejszych 
kwadratów:

(

)

2

2

0

1

1

1

n

n

r

i

i

i

i

i

S

e

y a

a x

=

=

=

=

-

-

� �

Kryterium te jest najczęściej stosowane, ze względu 
na otrzymywaną najbardziej pożądaną postać funkcji 
przybliżającej.

background image

Rodzaje aproksymacji

W  zależności  od  przyjętego  sposobu 
oszacowania 

błędu 

aproksymacji, 

wyróżnia się trzy rodzaje aproksymacji:

aproksymacja 

interpolacyjna 

– 

sprowadza  się  do  interpolacji  jedną 
funkcją całego przedziału

aproksymacja 

jednostajna 

– 

aproksymacja  w  której  jako  kryterium 
minimalizacji  błędów  przyjmuje  się 
kryterium minimax

aproksymacja  średniokwadratowa  – 
metoda najmniejszych kwadratów

background image

Aproksymacja – metoda 

najmniejszych kwadratów

Aproksymacja 

średniokwadratowa 

jest 

najczęściej 

stosowanym 

sposobem 

aproksymacji. Posiada wiele wariantów, tutaj 
przyjęto  wariant  liniowy  metody.  Żądamy  w 
niej,  aby  zostało  spełnione  kryterium 
minimum sumy kwadratów błędów.
Jeśli wartości funkcji                         dane są 
w punktach
                                            ,  to  szukamy  funkcji 
aproksymującej  jako  kombinacji  liniowej 
pewnych funkcji                           :

Gdzie:  l  –  liczba  funkcji  aproksymujących  jest  dużo 
mniejsza 

od

n  –  liczby  punktów,  w  których  dana  jest  wartość 
funkcji.

1

2

, , ,

n

y y

y

K

1

2

, , ,

n

x x

x

K

( )

( )

( )

1 1

2 2

l l

y a f x

a f x

a f x

=

+

+ +

K

( )

( )

1

, ,

K

l

f x

f x

background image

Aproksymacja – metoda 

najmniejszych kwadratów

1

2

, , ,

K

l

a a

a

( )

( )

( )

1 1

2 2

i

i

i

i

l l

i

y

y a f x

a f x

a f x

D = -

-

-

-

K

( )

2

2

1

1

1

min

=

=

=

= D =

-

=

n

n

l

i

i

k k

i

i

i

k

H

y

y

a f x

background image

Aproksymacja – metoda 

najmniejszych kwadratów

Minimum  wariancji  H  możemy  obliczyć 
przyrównując jej pochodną do zera:

Otrzymujemy 

układ 

równań 

niewiadomych  

( )

( )

1

1

2

0 dla   1, 2, ,

=

=

��

=

-

-

=

=

K

n

l

i

k k

i

j

i

i

k

j

H

y

a f x

f x

j

l

a

1

, ,

K

l

a

a

( ) ( )

( )

1

1

,

1, 2, ,

=

=

=

=

=

=

K

n

jk

kj

k

i

j

i

i

n

j

i

j

i

i

A

A

f x f x

B

y f x

k j

l

1

1, 2, ,

=

=

=

K

l

jk k

j

k

A a

B

j

l

Gdzie:

background image

Aproksymacja – metoda 

najmniejszych kwadratów

1

  

A a B

a A B

-

�=

=

background image

Ocena dokładności aproksymacji

background image

Ocena dokładności aproksymacji

Wariancja  H  wyraża  średnią  arytmetyczną 
kwadratów  odchyleń  (błędów)  wartości  funkcji 
od  obliczonej  wartości  średniej  funkcji  w 
poszukiwanych punktach.

1

( )

i

n

y

f x

=

(

)

2

( )

t

i

S

f x

y

=

-

gdzie:

                             

jest wartością średnią funkcji w punktach 
poszukiwanych.
Ponieważ wariancja rośnie wraz ze wzrostem n, 
stosuje się średnią wartość wariancji – tzw. 
odchylenie standardowe:                             

1

t

y

S

n

=

-

background image

Ocena dokładności aproksymacji

(

)

2

( )

( )

r

i

i

S

f x

F x

=

-

1

r

xy

S

n

s

=

-

1

t

r

t

S S

r

r

rozwiązaniedokładne

S

-

=

= �

background image

Ocena dokładności aproksymacji

2

t

r

t

S S

r

S

-

=

background image

Aproksymacja – algorytm 

rozwiązania

Wczytanie danych w programie:

Na laboratorium 
dane należy 
wczytywać z pliku 
dane1.m.

Zmienna m jest zwiększana o jeden ponieważ 
wielomian n stopnia ma n+1 niewiadomych 
współczynników

background image

Aproksymacja – algorytm 

rozwiązania

Obliczenie elementów pomocniczych 
macierzy A i B:

Sprawdzenie czy użytkownik wczytał 
wystarczającą liczbę punktów do 
zdefiniowania wielomianu stopnia m-1

Obliczenie elementów 
macierzy A i B zgodnie z 
poniższymi wzorami:

Potrzeba stworzenia oddzielnej funkcji 
aproksymacyjnej !!!

( ) ( )

( )

1

1

,

1, 2, ,

=

=

=

=

=

=

K

n

jk

kj

k

i

j

i

i

n

j

i

j

i

i

A

A

f x f x

B

y f x

k j

l

background image

Aproksymacja – algorytm 

rozwiązania

1

\ '  

  a=A

'

( )

'

a A B

B inv A B

-

=

� =

background image

Aproksymacja – algorytm 

rozwiązania

Obliczenie na podstawie funkcji aproksymującej 
wartości funkcji w punktach poszukiwanych : 

Narysowanie wykresu funkcji aproksymującej z 
zaznaczeniem punktów danych i poszukiwanych:

background image

Prezentacja została wykonana na podstawie 

skryptu:

METODY NUMERYCZNE W MECHANICE 

KONSTRUKCJI z przykładami w 

programie MATLAB

prof. dr hab. inż. Paweł Kłosowski
dr inż. Andrzej Ambroziak

Wydawnictwo Politechniki Gdańskiej 

background image

Dziękuje za uwagę


Document Outline