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
Interpolacja Newtona dla wielomianu dowolnego stopnia
Interpolacja Newtona dla wielomianu dowolnego stopnia Gdzie funkcje z nawiasami kwadratowymi oblicza się z zależności rekurencyjnych:
Interpolacja sześcienna Interpolacja sześcienna jest szczególnym przypadkiem interpolacji Newtona dla n=3:
Interpolacja sześcienna
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:
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:
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: Kryteria obliczania błędu: Definiowane są następująco: Minimum sumy błędów: Minimum sumy wartości bezwzględnych błędów: Kryterium minimum błędu maksymalnego (tzw. Kryterium „minimax”):
Aproksymacja – kryteria błędów Minimum sumy kwadratów – metoda najmniejszych kwadratów: 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 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.
Aproksymacja – metoda najmniejszych kwadratów
Aproksymacja – metoda najmniejszych kwadratów Minimum wariancji H możemy obliczyć przyrównując jej pochodną do zera: Otrzymujemy układ l równań o l niewiadomych Gdzie:
Aproksymacja – metoda najmniejszych kwadratów
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. 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:
Ocena dokładności aproksymacji
Ocena dokładności aproksymacji
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: Potrzeba stworzenia oddzielnej funkcji aproksymacyjnej !!!
Aproksymacja – algorytm rozwiązania
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ę