C++ Bc. 30: Porovnání verzí
m odkaz na wikipedii |
m m - 2 -> m - 1 |
||
Řádek 14: | Řádek 14: | ||
\int_a^b f(x){\mathrm d}x \approx {1 \over 3}h \left[ | \int_a^b f(x){\mathrm d}x \approx {1 \over 3}h \left[ | ||
f(a) + 4f(a+h) + 2f(a+2h) + 4f(a+3h) + \ldots | f(a) + 4f(a+h) + 2f(a+2h) + 4f(a+3h) + \ldots | ||
+ 4f(a+(m- | + 4f(a+(m-1)h) + f(b) | ||
\right] | \right] | ||
</math> | </math> |
Verze z 6. 12. 2006, 11:20
U tohoto kvadratického vzorce se rozdělí daný interval na sudý počet ekvidistantních intervalů. Trojici sousedních bodů (pro dva integrační kroky) nahrazuje Simpsonovo pravidlo kvadratickym polynomem
.
Součet pro celý interval je
kde integrační krok a je sudé.
Napište funkci
double simpson(double (*f)(double), double a, double b, int m);
pro numerický výpočet určitého integrálu Simpsonovou metodou.
Příklad výpočtu určitého integrálu funkce .
a b simpson chyba m = 2 -------------------------------------------- 0.000000 1.000000 0.459862 -1.644957e-04 0.100000 1.200000 0.632980 -3.335789e-04 0.200000 1.400000 0.810709 -6.092499e-04 0.300000 1.600000 0.985564 -1.027751e-03 0.400000 1.800000 1.149889 -1.625841e-03 a b simpson chyba m = 4 -------------------------------------------- 0.000000 1.000000 0.459708 -1.005080e-05 0.100000 1.200000 0.632667 -2.028349e-05 0.200000 1.400000 0.810136 -3.684878e-05 0.300000 1.600000 0.984598 -6.179879e-05 0.400000 1.800000 1.148360 -9.714269e-05