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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
#1

Невозможный результат - C++

06.10.2010, 17:24. Просмотров 281. Ответов 4
Метки нет (Все метки)

Есть функция, кторая счтает интергал
Обьясните пожалуйста, почему она дает такие значения, явно неправельные
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
#include <iostream>
using namespace std;
 
double g_integral(double x, double eps)
{
    double sum=x, fx=x, fact=1;
    int z=1,i=2;
    while (abs(fx/fact)>eps) 
    {
        fact=fact*(2*i-1)*(i-1)/(2*i-3);
        fx*=x*x;
        z*=-1; 
        sum+=z*fx/fact;
        ++i;
            
    };
    return sum;
}
 
int main()
{
cout.precision(17);
double eps=0.0000000001;
for (int i=1; i<11; ++i)
                 cout<<"for x="<<i<<" integral is "<<g_integral(i,eps)<<endl;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2010, 17:24     Невозможный результат
Посмотрите здесь:

ненаходит результат! C++
Неправильный результат C++
C++ Предугадать результат
не выводит результат C++ C++
C++ Результат компиляции
Результат -1.#IND C++
C++ Объяснить результат и вывести на экран результат логического выражения
Результат atoi C++
неожиданный результат C++
Не выводит результат C++
C++ Задачу создать 2-мя способами:1) передавать результат работы подпрограммы через результат, возвращаемый функци
Не выдает результат C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
06.10.2010, 17:28     Невозможный результат #2
А название метода можно узнать?
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
06.10.2010, 17:29     Невозможный результат #3
Проблема в неправильной функции расчета интеграла, то есть чисто математическая, подсказать конкретнее не смогу, т.к. в упор не помню как расчитываюся интегралы
romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
06.10.2010, 17:35     Невозможный результат #4
используйте fabs вместо abs
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
06.10.2010, 18:06  [ТС]     Невозможный результат #5
метод интегрирования вроде бы Гаусса, выдает значения правильные приблизительно до 6, а потом площадь стает отрицательной и т.д.
тут может ошибка из-за компьютерного подсчета?
Yandex
Объявления
06.10.2010, 18:06     Невозможный результат
Ответ Создать тему
Опции темы

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