Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczenie całki - względny błąd obliczeń epsilon.

Ostatnio zmodyfikowano 2015-12-29 08:28
Autor Wiadomość
zabsontoziomal
Temat założony przez niniejszego użytkownika
Liczenie całki - względny błąd obliczeń epsilon.
» 2015-12-27 14:07:04
Witam, mam napisać program który liczy pole powierzchni danej figury - całkuje pewną funkcję metodą trapezów. No to spoko, umiem to napisać. Mam podawać z klawiatury takie dane jak: przedział początkowy i końcowy xp, xk raz EPSILON czyli względny błąd obliczeń. Ale nie mam pojęcia jak go zrobić w programie. We wszystkim co czytałem o całkach, patrzyłem algorytmy to jedyna rzecz którą można podawać oprócz przedziałów to jest dokładność n.
A na zajęciach zostało mi tylko podane że ten błąd to (|Pn+Pn+1|)/Pn<=Epsilon  gdzie Pn to kolejne całkowane pole.
Jak mogę to zaaplikować do tego programu?

C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

// funkcja do scalkowania
double f1( double x ) { return - x * x - x + 10; }

int main()
{
    float xp, xk, h, calka;
    int n;
   
    // przedzialy
    xp = - 2;
    xk = 1;
   
    // im wieksze n tym wieksza dokladnośc (np. n=1000)
    n = 3;
   
    h =( xk - xp ) /( float ) n;
   
    cout << "krok: h=" << h << endl;
   
    calka = 0;
    for( int i = 1; i < n; i++ )
    {
        calka += f1( xp + i * h );
    }
    calka += f1( xp ) / 2;
    calka += f1( xk ) / 2;
    calka *= h;
   
    cout << "Wynik calkowania: " << calka << endl;
   
    system( "PAUSE" );
   
    return 0;
}
P-142409
zabsontoziomal
Temat założony przez niniejszego użytkownika
» 2015-12-28 12:20:39
Ma ktoś może jakiś pomysł? Wskazówkę?
P-142455
darko202
» 2015-12-28 13:05:33
czytałeś o metodzie trapezów np. na
https://pl.wikipedia.org/wiki​/Ca%C5%82kowanie_numeryczne

w tym : "Oszacowanie błędu tej metody wynosi" to epsilon
a X-początkowe i X-końcowe to wiadomo co ma być




P-142458
zabsontoziomal
Temat założony przez niniejszego użytkownika
» 2015-12-28 19:13:56
Czyli jak mam wprowadzać epsilon z klawiatury to co on ma mi wyliczać lub w jaki sposób? To jest lewa czy prawa strona tego wzoru?
P-142479
darko202
» 2015-12-29 08:28:34
szacowany z wzoru błąd musi być mniejszy niż wprowadzony jak to nazwałeś w zmiennej epsilon

a program ma tak długo liczyć całkę, aż warunek ten będzie spełniony
tzn. zmniejszać wielkość liczonego przedziału
np. liczymy całkę od 1 do 2
wtedy krok :
1 cały przedział 1-2
2 dwa przedziały 1-1.5 , 1.5-2
.....
4 cztery przedziały 1-1.25, 1.25-1.5, 1.5-1.75, 1.75-2
....

przy każdym kroku szacujemy błąd z definicji Rn
jeśli jest większy od podanego epsilon - powtarzamy obliczenia - następny krok
jeśli mniejszy kończymy obliczenia.


P-142522
« 1 »
  Strona 1 z 1