Liczenie całki - względny błąd obliczeń epsilon.
Ostatnio zmodyfikowano 2015-12-29 08:28
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? #include <iostream> #include <cstdlib>
using namespace std;
double f1( double x ) { return - x * x - x + 10; }
int main() { float xp, xk, h, calka; int n; xp = - 2; xk = 1; 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; }
|
|
zabsontoziomal Temat założony przez niniejszego użytkownika |
» 2015-12-28 12:20:39 Ma ktoś może jakiś pomysł? Wskazówkę? |
|
darko202 |
» 2015-12-28 13:05:33 |
|
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? |
|
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.
|
|
« 1 » |