Title | Sprawozdanie - Całkowanie numeryczne |
---|---|
Course | Metody obliczeniowe w nauce i technice |
Institution | Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie |
Pages | 5 |
File Size | 401 KB |
File Type | |
Total Downloads | 50 |
Total Views | 120 |
Wstęp teoretyczny
Całkowanie numeryczne – metoda numeryczna polegająca na przybliżonym obliczaniu całek oznaczonych. Proste metody całkowania numerycznego polegają na przybliżeniu całki za pomocą odpowiedniej sumy ważonej wartości całkowanej funkcji w kilku punktach. Aby uzys...
Sprawozdanie 4 - Całkowanie numeryczne Piotr Rozmarynowski Wstęp teoretyczny Całkowanie numeryczne – metoda numeryczna polegająca na przybliżonym obliczaniu całek oznaczonych. Proste metody całkowania numerycznego polegają na przybliżeniu całki za pomocą odpowiedniej sumy ważonej wartości całkowanej funkcji w kilku punktach. Aby uzyskać dokładniejsze przybliżenie dzieli się przedział całkowania na niewielkie fragmenty. Ostateczny wynik jest sumą oszacowań całek w poszczególnych podprzedziałach. Najczęściej przedział dzieli się na równe podprzedziały, ale bardziej wyszukane algorytmy potrafią dostosowywać krok do szybkości zmienności funkcji. Metoda prostokątów Korzystamy z definicji całki oznaczonej Riemanna, w której wartość całki interpretowana jest jako suma pól obszarów pod wykresem krzywej w zadanym przedziale całkowania . Sumę tę przybliżamy przy pomocy sumy pól odpowiednio dobranych prostokątów.
Metoda trapezów Metoda trapezów polega na tym, że figurę ABCD zastępujemy figurą złożoną z trapezów wpisanych, tzn. krzywą aproksymujemy linią łamaną w nią wpisaną. Przedział całkowania (a,b) dzielimy przy tym na n równych części o długościach
Zadanie Tematem zadania będzie obliczanie różnymi sposobami całki funkcji x^2 oraz 1/sqrt(x) w przedziale (0,1) Proszę dla obydwu funkcji:
1. Znaleźć dokładną wartość całki (całkując ręcznie)
2. Napisać program obliczający całkę metodą prostokątów. Program powinien mieć następujące parametry: 1. float a - początek przedziału 2. float b - koniec przedziału 3. int n - ilość podprzedziałów, na które dzielimy przedział (a,b)
3. Zbadac, przy uzyciu programu z poprzedniego punktu, jak zmienia sie blad calkowania wraz ze wzrostem liczby podprzedzialow. Kiedy blad jest mniejszy niz 1e-3, 1e-4, 1e-5 i 1e-6?
Wartości interwałów nie są dokładne, ale przybliżone z uwagi na nieuchwycone zaokrąglenia wynikające ze sposobu implementacji programu.
Dla funkcji 1/sqrt(x) trwało to zbyt długo aby odnaleźć poprawną liczbę interwałów. Nie trudno zauważyć, że stosowanie algorytmu obliczania całek metodą prostokątów jest bardzo nieoptymalna.
4. Obliczyć wartość całki korzystając z funkcji gsl_integration_qag metodą GSL_INTEG_GAUSS15 dla zadanych dokładności takich jak w p. 3. Sprawdzić, ile przedziałów (intervals) potrzebuje ta procedura aby osiągnąc zadaną dokładność (1e-3, 1e-4, 1e-5 i 1e-6). Porownac, ile przedzialow potrzebuje metoda prostokatow do osiagniecia podobnej dokladnosci. Patrz przykład w dokumentacji GSL.
Wyniki dla dokładności: 1e-3, 1e-4, 1e-5 i 1e-6...