-
Received: by 10.52.66.235 with SMTP id i11mr4315761vdt.7.1352811538740; Tue, 13 Nov
2012 04:58:58 -0800 (PST)
Received: by 10.52.66.235 with SMTP id i11mr4315761vdt.7.1352811538740; Tue, 13 Nov
2012 04:58:58 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!newsf
eed.pionier.net.pl!news.glorb.com!c7no24409712qap.0!news-out.google.com!gf5ni47
967827qab.0!nntp.google.com!c7no23965652qap.0!postnews.google.com!glegroupsg200
0goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 13 Nov 2012 04:58:58 -0800 (PST)
In-Reply-To: <k7tbmv$6se$1@zeus.man.szczecin.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=193.189.80.39;
posting-account=EexxQQoAAAAkOfWz0VZRKLcHNpXJZLB9
NNTP-Posting-Host: 193.189.80.39
References: <509ee300$0$26682$65785112@news.neostrada.pl>
<k7olf5$rpm$1@news.task.gda.pl> <k7rnav$8eq$1@node2.news.atman.pl>
<k7t76g$3f0$1@zeus.man.szczecin.pl>
<4...@g...com>
<k7tbmv$6se$1@zeus.man.szczecin.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4...@g...com>
Subject: Re: Simpson vs. Niski Cotes
From: Roman W <r...@g...com>
Injection-Date: Tue, 13 Nov 2012 12:58:58 +0000
Content-Type: text/plain; charset=ISO-8859-1
Xref: news-archive.icm.edu.pl pl.comp.programming:200778
[ ukryj 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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-31 Szukam: czujnik ruchu z możliwością zaączenia na stałe
- 2024-12-31 Warszawa => Solution Architect (Java background) <=
- 2024-12-31 Warszawa => Starszy Konsultant AWS <=
- 2024-12-31 Warszawa => International Freight Forwarder <=
- 2024-12-31 Odpowiedzialność w spółce z oo
- 2024-12-31 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-31 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-31 Warszawa => Specjalista ds. bezpieczeństwa informacji i ciągłości
- 2024-12-31 8%
- 2024-12-31 Błonie => Administrator systemów <=
- 2024-12-31 Błonie => IT System Administrator <=
- 2024-12-31 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2024-12-31 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2024-12-31 Warszawa => Helpdesk - I linia wsparcia <=
- 2024-12-31 kabelek - kynar ?