eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSimpson vs. Niski CotesRe: Simpson vs. Niski Cotes
  • Received: by 10.52.97.101 with SMTP id dz5mr4308824vdb.2.1352804019229; Tue, 13 Nov
    2012 02:53:39 -0800 (PST)
    Received: by 10.52.97.101 with SMTP id dz5mr4308824vdb.2.1352804019229; Tue, 13 Nov
    2012 02:53:39 -0800 (PST)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!news.supermedia.pl!plix.pl!newsfeed2.plix.pl!feed.xsnews.nl!border-1.a
    ms.xsnews.nl!newsfeed.x-privat.org!news-out.readnews.com!transit4.readnews.com!
    209.85.216.87.MISMATCH!c7no23554363qap.0!news-out.google.com!gf5ni18188417qab.0
    !nntp.google.com!c7no23998798qap.0!postnews.google.com!glegroupsg2000goo.google
    groups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Tue, 13 Nov 2012 02:53:39 -0800 (PST)
    In-Reply-To: <k7t76g$3f0$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>
    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 10:53:39 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:200769
    [ ukryj nagłówki ]

    W dniu wtorek, 13 listopada 2012 10:33:09 UTC użytkownik slawek napisał:
    > Użytkownik "bartekltg" napisał w wiadomości grup
    > dyskusyjnych:k7rnav$8eq$...@n...news.atman.pl...
    >
    > >Sławek schrzaniał algorytm i tyle. Pewnie źle dobrał
    > >epsilon maszynowy;)
    >
    > A konkretnie - poza błędem w komentarzu?

    Poprawnie zaimplementowany Simpson (wg.
    http://en.wikipedia.org/wiki/Simpson%27s_rule#Compos
    ite_Simpson.27s_rule) daje wartosc, dla Twoich danych, 0.5022749400837603, czyli
    znacznie blizej prawdziwej wartosci niz Twoje
    trapezy.

    Kod ponizej (C++):

    #include <cmath>
    #include <iostream>
    #include <iomanip>

    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;
    double sum = f(x0) + f(x1);
    for (size_t j = 1; j < k; ++j) {
    sum += 2 * f(x0 + 2 * j * h);
    }
    for (size_t j = 1; j <= k; ++j) {
    sum += 4 * f(x0 + (2 * j - 1) * h);
    }
    return h * sum / 3.0;
    }

    int main()
    {
    std::cout << std::setprecision(16) << integrate_simpson(function, 0.0, 5.0, 10000/2)
    << std::endl;
    }


    RW

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: