StartAlgorytmyProcedury numeryczneCałkowanie numeryczne - metoda prostokątów
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Całkowanie numeryczne - metoda prostokątów
Ocena użytkowników:+++-- / 11
SłabyŚwietny 
Wpisany przez Tomasz Lubiński
niedziela, 27 maja 2007 13:39
Załóżmy, że chcemy obliczyć całkę z funkcji f(x) w przedziale <xp; xk>. Definicja całki oznaczonej Riemana, mówi nam, że wartość całki równa jest sumie pól obszarów pod wykresem krzywej w zadanym przedziale całkowania. Sumę taką możemy obliczyć w przybliżeniu dzieląc obszar całkowania na n równych części. Dla każdej takiej części możemy wyznaczyć prostokąt, który w przybliżeniu będzie odpowiadał polu obszaru pod wykresem krzywej. Jak widać na schemacie poniżej, dla funkcji rosnącej wartości tych przybliżeń będą większe niż w rzeczywistości - nadmiar powoduje część prostokąta znajdująca się ponad wykresem krzywej - dwa pierwsze prostokąty na schemacie. Natomiast dla funkcji malejącej wartości przybliżeń będą mniejsze niż rzeczywiste pole pod wkresem - niedomiar powoduje część pola znajdująca się nad wyznaczonym prostokątem - ostatni prostokąt na schemacie.
Całkowanie numeryczne - metoda prostokątów

Jak już wpomnieliśmy przedział całkowania <xp; xk> podzielimy na n równych części. Szerokość każdej z nich wynosić będzie zatem:
dx = ( xk - xp ) / n.
Taka też będzie szerokość każdego prostokąta przybliżającego nam wartość całki w zadanym przedziale. Wysokość każdego z prostokątów wynosić będzie:
f( xi ) dla i = 1, 2, ..., n, gdzie xi = xp + i*dx.
Całkę w zadanym przedziale uzyskamy dodając do siebie pola wszystkich tych prostokątów, wynosić będzie ona zatem:
dx * f( x1 ) + dx * f( x2 ) + ... + dx * f( xn ) = dx * (f( x1 ) + f( x2 ) + ... + f( xn )).
Warto zauważyć, iż im większa liczba przedziałów n z tym większą dokładnością wyznaczymy interesującą nas całkę.

Przykład:
Obliczymy przybliżoną wartość całki dla funckji f(x) = x2 + 3 w przedziale <2, 5> z dokładnością n = 3.
Obliczmy najpierw szerokość przedziału dx = ( xk - xp ) / n = (5 - 2) / 3 = 3 / 3 = 1.
Teraz obliczymy wartość całki.
dx * (f( x1 ) + * f( x2 ) + f( x3 )) = 1 * (f(2 + 1*1) + f(2 + 2*1) + f(2 + 3*1)) = 1 * (f(3) + f(4) + f(5)) = 1 * (12 + 19 + 28) = 59.
Zatem przybliżona wartość całki wynosi 59.



Autor Język programowania Komentarz Otwórz Pobierz Ocena
Tomasz Lubiński C# MS Visual Studio .net
Implementacja w C#
Implementacja w C#
+++-- / 4
Tomasz Lubiński C/C++
Implementacja w C/C++
Implementacja w C/C++
+++-- / 6
Tomasz Lubiński Delphi/Pascal
Implementacja w Delphi/Pascal
Implementacja w Delphi/Pascal
++--- / 4
Tomasz Lubiński Java
Implementacja w Java
Implementacja w Java
++--- / 4
Jakub Konieczny Java Block
Implementacja w Java Block
Implementacja w Java Block
++--- / 4
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: wtorek, 21 czerwca 2011 17:43

Dodaj komentarz

Kod antysapmowy
Odśwież