Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 7 - Algoritmus pro numerické integrování - Obdélníková metoda

V minulé lekci, Generování (pseudo)náhodných čísel, jsme se něco dozvěděli o základních principech algoritmů generování náhodných čísel počítačem včetně popisu generování různých pravděpodobnostních rozložení.

Numerický výpočet integrálu

Jednoduchý určitý integrál slouží k výpočtu obsahu pod křivkou, přičemž intervaly jsou body, které danou křivku ohraničují. Takže pokud máme integrál nějaké funkce na intervalu <1;4>, tak to znamená, že vypočteme obsah pod křivkou, která na ose x začíná 1 a končí 4 viz. obrázek.

Obsah pod křivkou - Matematické algoritmy

Pro složitější funkce(křivky) budeme potřebovat určité vzorce(formule, metody), podle kterých spočítáme obsah pod danou křivkou. Asi nejznámější metody pro takovýto výpočet jsou: obdelníková, lichoběžníková a Simpsonova. Tyto metody můžeme dále rozdělit na základní(jedno­duché) a složené. Základní metody spočívají v tom, že máme křivku(funkci) na intervalu <a;b> a tu proložíte určitou křivkou podle použité metody. U složených metod, si danou funkci(křivku) můžeme rozdělit, na tolik intervalů, kolik potřebujeme a v každém intervalu aplikujeme základní metodu, čímž docílíme větší přesnosti výpočtu.

Obdelníková metoda

Základní formule

Vzorec jednoduché obdelníkové metody - Matematické algoritmy

a - začátek intervalu (v obrázku dole je a=1)

b - konec intervalu (v obrázku dole je b=4)

Jednoduchá obdelníková formule - Matematické algoritmy

Základní obdelníková formule spočívá v nalezení středu intervalu: (a+b)/2 a poté proloží tímto středem intervalu obdelník o délce intervalu. Viz obrázek.

Složená formule

h= (b-a)/n ,kde n je počet podintervalů

h - délka intervalu - udává délku křivky, kterou daný interval prokládáme(u obdelníkové metody je to délka obdelníku)

Vzorec obdelníkové složené metody - Matematické algoritmy
Složená obdelníková formule - Matematické algoritmy

Složená obdélníková metoda spočívá v tom, že si hlavní interval <a;b> rozdělíme na několik podintervalů. Na obrázku si rozděluji interval <1;4> na 3 podintervaly: <1;2>,<2;3>.<3;4>, ve kterých aplikuji základní obdélníkovou metodu.

Výpočet matematicky:

Př: Spočítejte obsah pod křivkou funkce y(x)=x na intervalu <1;4> pomocí složené obdelníkové metody.

Zadaná funkce je y(x) = x, to znamená, že když dosadím za x = 1, pak y =1 viz tabulka:

iterace 0 1 2 3
x 1 2 3 4
y 1 2 3 4

Dále si funkci rozdělím na 3 podintervaly, tedy n=3. ( <1;2>,<2;3>.<3;4>)

h= (b-a)/n=(4-1)/3= 1

S=h[f(x0+0,5h­)+f(x1+0,5h)+f(x2+0,5h)]

Podle rovnice musíme vypočítat hodnotu y(x) v polovině každého intervalu.

Výpočet y(x0+0,5h) y(x1+0,5h) y(x2+0,5h)
y(x) 1,5 2,5 3,5

S=1*[1,5+2,5+­3,5]=7,5

Výsledek příkladu podle obdelníkové metody je tedy 7,5. V tomhle případě to vyjde přesně. Pokud bychom měli složitější křivku a potřebovali bychom přesnější výsledek, řešením by bylo zvětšit počet intervalů.

Metoda v C#

private double ObdelnikovaMetoda(double a, double b, int n)
{
double[] stredyIntervalu = new double[n];  // deklaruju si pole, kde budu mit stredy intervalu

        double h = (b - a) / n; // spocitam si h

        for (int i = 1; i <= n; i++) // v tomhle foru plnim pole, pomoci stredu jednotlivych intervalu
        {
            stredyIntervalu[i-1] = (a + h*i) - (h/2);
        }

        double vysledek = 0; // deklaruju promenou vysledek

        for (int i = 0; i < n; i++)
        {
           vysledek += stredyIntervalu[i]; // tady je treba zadat tu svou funkci pokud  bych mel napriklad funkci y(x) = 2x + 3,
           //tak radek bude vypadat takto: vysledek += (2*stredyIntervalu[i]+3);
        }

        return vysledek *= h;

}

Závěr

Na závěr k této metodě jen řeknu, že její použití nedoporučuji. Její přesnost není ideální, uvádím ji jen proto, že se nachází ve všech studijních materiálech. A myslím, že pomůže v pochopení numerického výpočtu obsahu pod křivkou.

Zdroj: http://mathonline.fme.vutbr.cz

V další lekci, Algoritmus pro numerické integrování - Lichoběžníková metoda, si popíšeme algoritmus pro numerický výpočet integrálu, tedy obsahu pod křivkou, pomocí lichoběžníkové formule.


 

Předchozí článek
Generování (pseudo)náhodných čísel
Všechny články v sekci
Matematické algoritmy
Přeskočit článek
(nedoporučujeme)
Algoritmus pro numerické integrování - Lichoběžníková metoda
Článek pro vás napsal Gramli
Avatar
Uživatelské hodnocení:
10 hlasů
Autor se věnuje hlavně jazyku C#
Aktivity