-
Data: 2012-11-13 13:58:58
Temat: Re: Simpson vs. Niski Cotes
Od: Roman W <r...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu wtorek, 13 listopada 2012 11:42:24 UTC uzytkownik slawek napisal:
> Udz?ytkownik "Roman W" napisadz? w wiadomodz?ci grup
> dyskusyjnych:4c699929-26e9-484c-a399-c34765287e83@go
oglegroups.com...
>
> >Poprawnie zaimplementowany Simpson (wg.
> >http://en.wikipedia.org/wiki/Simpson%27s_rule#Compo
site_Simpson.27s_rule)
> >daje wartosc, dla Twoich danych, 0.5022749400837603, czyli >znacznie blizej
> >prawdziwej wartosci niz Twoje trapezy.
>
> Primo, nie pisze sidz? zaimkdz?w osobowych wielkdz? literdz?, wyjdz?tek modz?e
bydz? dla
> czasem w tekstach religijnych.
Robilem to z grzecznosci, ale jezeli ciebie to krepuje, to przestaje.
> Tertio, popatrzmy co mamy, 1000 przedziadz?dz?w, 500 przedziadz?dz?w, czy modz?e
2000
> przedziadz?dz?w? Przedziadz?dz?w czy wdz?zdz?dz?w? Ale to chyba nie w tym
przyczyna...
Moja implementacja uzywa prawie tyle samo wartosci funkcji co twoja (10001 zamiast
10000).
Roznica powinna byc zaniedbywalna, jezeli obie implementacje byly poprawne.
> Quarto, pordz?wnaj z wynikiem "mojego Simpsona" - jedz?eli "mdz?j Simpson" bydz?
> gorszy nidz? "moje trapezy", to oznacza dz?e "twdz?j Simpson" jest dokdz?adniejszy
> nidz? "mdz?j Simpson" (bo "mdz?j Simpson" gorszy nidz? "moje trapezy") - a to
> oznacza, dz?e masz inne wyniki dlatego, dz?e masz inny komputer i/lub nie masz
> tablicy wartodz?ci (czyli liczysz na 80-bitach zamiast na 64-bitach). Sprdz?buj
> najpierw wdz?adowadz? wszystkie wartodz?ci do tablicy liczb double (tzn. np.
> wdz?adz?nie 1000 liczb, co da 999 przedziadz?dz?w) - i dopiero potem, po tej
> modyfikacji, policz co daje "twdz?j Simpson".
OK, point taken: sprawdzilem wersje z tablica (kod ponizej). Wynik jest nadal
0.5022749400837603, czyli praktycznie tyle samo, co analityczny rezultat.
Sorry, masz zla implementacje. Moze sam po swojemu zaimplementuj wersje z Wiki,
a potem pogadamy?
RW
------
Kod:
#include <cmath>
#include <iostream>
#include <iomanip>
#include <vector>
double function(double x)
{
return sin(x) * exp(-x);
}
template <class F>
double integrate_simpson(F f, double x0, double x1, size_t k)
{
const size_t n = 2 * k;
const double h = (x1 - x0) / n;
std::vector<double> y(n + 1);
for (size_t j = 0; j <= n; ++j) {
y[j] = f(x0 + j * h);
}
double sum = y[0] + y[n];
for (size_t j = 1; j < k; ++j) {
sum += 2 * y[2 * j];
}
for (size_t j = 1; j <= k; ++j) {
sum += 4 * y[2 * j - 1];
}
return h * sum / 3.0;
}
int main()
{
std::cout << std::setprecision(16) << integrate_simpson(function, 0.0, 5.0, 10000/2)
<< std::endl;
}
Następne wpisy z tego wątku
- 13.11.12 14:03 Roman W
- 13.11.12 14:10 Michoo
- 13.11.12 14:10 slawek
- 13.11.12 14:21 Roman W
- 13.11.12 14:22 AK
- 13.11.12 14:24 Roman W
- 13.11.12 14:37 AK
- 13.11.12 14:42 Roman W
- 13.11.12 15:12 AK
- 13.11.12 15:23 AK
- 13.11.12 15:49 zdumiony
- 13.11.12 17:55 bartekltg
- 13.11.12 18:24 bartekltg
- 13.11.12 18:33 bartekltg
- 13.11.12 18:53 bartekltg
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-03-14 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-03-14 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-14 VAT-R Umowa najmu na adres zamieszkania
- 2025-03-14 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-14 Warszawa => Junior Rekruter <=
- 2025-03-14 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-14 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-14 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-03-13 Raspberry Pi 3 Model B+
- 2025-03-13 Kuchenka elektryczna
- 2025-03-12 test
- 2025-03-13 własny ekran startowy