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

Интеграл методом Симпсона - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Mee
 Аватар для Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
30.11.2010, 08:48     Интеграл методом Симпсона #1
Вообщем на форуме есть такая програма, спасибо её автору:

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
ouble Simpson(double (*Fx)(double))
{
        double I,x,h,a,b;
        int m;
        cout << "\n Input integral atributes:\n" << endl;
        cout << "\t-> Enter a = ";
        cin >> a;
        cout << "\t-> Enter b = ";
        cin >> b;
        cout << "\t-> Enter m = ";
        cin >> m;
        h=(b-a)/(m-1);
        x = a;
        I = Fx(a) + Fx(b);
        int n=0;
        while (n < m-2)
        {
                x = x+h;
                if (n%2==0) I=I+4*Fx(x);
                        else  I = I+2*Fx(x);
                n++;
        }
        return I*h/3;
}
Но здесь m - число отрезков, на которые разбивается основой, если я правильно понял, она влияет на точность, а вот так задавать точность мне кажется неправельным. Помогите переделать так, что бы интеграл находился не по количеству разбитых отрезков, а ориентировался на точность eps например 10е-15, которая например передается аргументом. Или как в случае, если есть точность, нати m?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
30.11.2010, 08:54     Интеграл методом Симпсона #2
Думаю переменная h - то что нужно.
Mee
 Аватар для Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
30.11.2010, 19:57  [ТС]     Интеграл методом Симпсона #3
Цитата Сообщение от Евгений М. Посмотреть сообщение
Думаю переменная h - то что нужно.
А как найти h если мы не знаем m? я что-то не понял к чему это
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
01.12.2010, 03:38     Интеграл методом Симпсона #4
Мы его не находим, а задаем. Далее либо мы через h, a, b находим m и не будем переделывать часть кода с циклом, либо переделать часть кода с циклом, чтобы не использовать m. Например сделать цикл от a+h до b-h.
impuls__s
0 / 0 / 0
Регистрация: 10.02.2010
Сообщений: 37
13.02.2011, 18:04     Интеграл методом Симпсона #5
а подскажите пожалуйста где можно найти эту программу целиком ? очень надо ...
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
13.02.2011, 21:51     Интеграл методом Симпсона #6
Цитата Сообщение от impuls__s Посмотреть сообщение
где можно найти
В интернете.
Yandex
Объявления
13.02.2011, 21:51     Интеграл методом Симпсона
Ответ Создать тему
Опции темы

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