Форум программистов, компьютерный форум CyberForum.ru

Вычислить интеграл - C++

Восстановить пароль Регистрация
 
Ирина0101
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 3
04.12.2013, 23:47     Вычислить интеграл #1
Помогите, пожалуйста, решить следующую задачу:

Вычислить интеграл по бесконечному промежутку с точностью 0.000001, используя правило Рунге, начал.число интервалов выбирать равным 4, при этом сначала свести задачу к вычислению интеграла по конечному отрезку(у меня вычисления происходят от 0 до 15), а затем использовать формулу прямоугольников:

http://www.cyberforum.ru/cgi-bin/latex.cgi?\int_{0}^{\propto }{e}^{-{x}^{2}}

Вот мой код, но как я поняла-она выдает неверное решение:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
double eps=0.000001,e=2.7182818;
double fun(double x)
{
    double result;
    result=pow(e,(-1)*x*x);
    return result;
}
double trap(double a,double b)
{
    return (fun(a)+fun(b))/2*(b-a);
}
bool runge (double i1,double i2)
{
    double ir;
    ir=fabs(i1-i2);
    if (ir<eps) return true;
    return false;
}
 
int main()
{
    int n=4;
    bool mark;
    mark=false;
    double a=0,b=15,h,h2,i1=0,i2=0,a1,a2,b1,b2;
    while(mark==false)
    {
        i1=0,i2=0;
        h=(b-a)/n;
        h2=h/2;
        b1=a;
        b2=a;
        for(int i=0;i<n;i++)
        {
            a1=b1;
            b1=b1+h;
            a2=b2;
            b2=a2+h2;
            i1+=trap(a1,b1);
            i2+=trap(a2,b2);
        }
        mark=runge(i1,i2);
        n+=1;
 
    }
 
    cout<<"n= "<<n<<endl;
    cout<<"Otvet= "<<i1<<endl;
    system("pause");
    return 0; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 23:47     Вычислить интеграл
Посмотрите здесь:

C++ Вычислить интеграл.
Вычислить интеграл f(x)=5x(кв.)-x+2 методом прямоугольников C++
C++ Вычислить интеграл(численные методы)
Вычислить интеграл C++
Вычислить интеграл с точностью C++
C++ Вычислить интеграл методом прямоугольников
C++ Вычислить определённый интеграл
Вычислить интеграл методом Симпсона C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 17:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru