II Tutorial z Metod Obliczeniowych
Download
Report
Transcript II Tutorial z Metod Obliczeniowych
IV Tutorial z Metod Obliczeniowych
Interpolacja i aproksymacja
Karol Daszkiewicz
Koło Naukowe Mechaniki Budowli KoMBo
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.
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
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
Rodzaje interpolacji
Przeprowadzenie interpolacji wymaga przyjęcia
pewnej z góry założonej postaci poszukiwanej
funkcji. W 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)
Zagadnienie interpolacyjne
Interpolacja liniowa
Interpolacja liniowa
Interpolacja liniowa
Interpolacja kwadratowa
Interpolacja kwadratowa
Interpolacja kwadratowa
Interpolacja kwadratowa
Interpolacja kwadratowa
Interpolacja Newtona dla wielomianu
dowolnego stopnia
F x b0 b1 x x 0
bn x x 0 x x1
x x n 1
Interpolacja Newtona dla wielomianu
dowolnego stopnia
b0 f x 0
b1 f x1 , x 0
b 2 f x 2 , x1 , x 0
b n f x n , x n 1 ,
, x1 , x 0
Interpolacja Newtona dla wielomianu
dowolnego stopnia
Gdzie funkcje z nawiasami kwadratowymi oblicza się z
zależności rekurencyjnych:
f x i , x j
f xi f x j
xi x j
f x i , x j f x j , x k
f x i , x j , x k
xi x k
f x n , x n 1 ,
x1 , x 0
f x n , x n 1 ,
, x1 f x n 1 , x n 2 ,
xn x0
, x0
Interpolacja sześcienna
Interpolacja sześcienna jest szczególnym przypadkiem
interpolacji Newtona dla n=3:
F x b0 b1 x x 0
b3 x x 0 x x1 x x 2
Interpolacja sześcienna
b0 f x 0
b1 f x1 , x 0
f x 2 , x1
f x3 , x 2
b 2 f x 2 , x1 , x 0
f x 3 , x 2 , x1
b3 f x 3 , x 2 , x1 , x 0
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 .
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.
Interpolacja liniowa – 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
Zaimplementowanie do programu wzoru:
Potrzeba stworzenia funkcji interpolacyjnej !!!
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.
Interpolacja kwadratowa – algorytm rozwiązania
Funkcja interpolująca dwumian():
Wykorzystanie w funkcji dwumian() wcześniej zaprezentowanych wzorów:
f x a 0 a1 x a 2 x
2
a 0 b0 b1 x n 1 b2 x n 1 x n
a1 b1 b2 x n 1 b2 x n
a 2 b2
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.
Interpolacja – algorytm rozwiązania
Funkcja interpolująca cub():
Wykorzystanie w funkcji cub() wcześniej zaprezentowanych wzorów:
b0 f x 0
b1 f x1 , x 0
f x3 , x 2
f x 2 , x1
b 2 f x 2 , x1 , x 0
f x 3 , x 2 , x1
b3 f x 3 , x 2 , x1 , x 0
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.
Interpolacja – wynik rozwiązania metodą numeryczną
dla interpolacji liniowej
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).
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 a wartością funkcji
aproksymującej
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
Aproksymacja – kryteria błędów
Dla liniowej funkcji aproksymującej: y a 0 a1 x e
Kryteria obliczania błędu: ei y i a 0 a1 x i
Definiowane są następująco:
Minimum sumy błędów:
n
n
i 1
i 1
e i y i a 0 a1 x i
Minimum sumy wartości bezwzględnych błędów:
n
n
i 1
i 1
e i y i a 0 a1 x i
Kryterium minimum błędu maksymalnego (tzw. Kryterium „minimax”):
m in(m ax( e1 , e 2 ,
, e n ))
Aproksymacja – kryteria błędów
Minimum sumy kwadratów – metoda najmniejszych kwadratów:
n
Sr
i 1
n
2
ei
y i a 0 a1 xi
2
i 1
Kryterium te jest najczęściej stosowane, ze względu na
otrzymywaną najbardziej pożądaną postać funkcji przybliżającej.
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
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 y1 , y 2 , , y n dane są w punktach
x1 , x 2 , , x n , to szukamy funkcji aproksymującej jako
kombinacji liniowej pewnych funkcji f1 x , , f l x :
y a1 f1 x a 2 f 2 x a l f l x
Gdzie: l – liczba funkcji aproksymujących jest dużo mniejsza od
n – liczby punktów, w których dana jest wartość funkcji.
Aproksymacja – metoda najmniejszych kwadratów
a1 , a 2 ,
y i y i a1 f1 x i a 2 f 2 x i
H
n
i 1
2
yi
n
i 1
y
i
l
k 1
, al
a l f l xi
2
a k f k x i m in
Aproksymacja – metoda najmniejszych kwadratów
Minimum wariancji H możemy obliczyć przyrównując jej
pochodną do zera:
H
a j
n
2
i 1
y
i
l
k 1
a k f k x i f j x i 0
dla j 1, 2,
Otrzymujemy układ l równań o l niewiadomych a1 ,
l
A jk a k B j
j 1, 2,
,l
k 1
Gdzie:
A jk Akj
Bj
n
n
f k xi f j xi
i 1
y i f j xi
i 1
k , j 1, 2,
,l
, al
,l
Aproksymacja – metoda najmniejszych kwadratów
A a B
1
a A B
Ocena dokładności aproksymacji
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.
St
f ( xi ) y
gdzie: y
1
n
2
f ( xi )
jest wartością średnią funkcji w punktach poszukiwanych.
Ponieważ wariancja rośnie wraz ze wzrostem n, stosuje się
średnią wartość wariancji – tzw. odchylenie standardowe:
y
St
n 1
Ocena dokładności aproksymacji
Sr
xy
r
f ( xi ) F ( xi )
2
Sr
n 1
St Sr
St
r 1 rozw iązanie dokładne
Ocena dokładności aproksymacji
r
2
St Sr
St
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
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:
A jk Akj
Bj
n
n
f k xi f j xi
i 1
y i f j xi
k , j 1, 2,
,l
i 1
Potrzeba stworzenia oddzielnej funkcji aproksymacyjnej !!!
Aproksymacja – algorytm rozwiązania
a A\B'
a=A
1
B ' inv ( A ) B '
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:
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
Dziękuje za uwagę