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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.90
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
#1

Бесконечность - C++

03.12.2010, 23:27. Просмотров 5847. Ответов 5
Метки нет (Все метки)

Есть значит функция нахождения интеграла Симпсоном, мне нужно посчитать интеграл от sin(x)/x на промежутке от 0 до бесконечности, как лучше всего передать значения в функцию?
Я пробовал simpson(test2,0,std::numeric_limits<double>::max(),eps), но тогда получаю -1.IND. Как правильно посчитать?


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
const   double a=1,b=2;
double simpson(double (*const f)(double),const double a, const double b,const double eps)
{
   int n=2;
   double h=(b-a)*0.5;
   double ss=0;
   double s1=h*(f(a)+f(b));
   double s2=0;
   double s4=4*h*f(a+h);
   double s=s1+s2+s4;
   do {
      ss=s;
      n*=2;
      h/=2;
      s1*=0.5;
      s2=0.5*s2+0.25*s4;
      s4=0;
      int i=1;
      do {
         s4=s4+f(a+i*h);
         i+=2;
      }
      while(i<=n);
      s4=4*h*s4;
      s=s1+s2+s4;
   }
   while(fabs(s-ss)>eps);
   return s/3;
};
 
 double test2(double x)
{
    return sin(a*x)/x; 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2010, 23:27     Бесконечность
Посмотрите здесь:

Погрешность и бесконечность - C++
Как задать в программе бесконечность(infinity) и погрешность (EPS) например для типа float?

С++ и бесконечность простых чисел - C++
Тысячи лет назад математики знали, что количество простых числ бесконечно и придумали простое доказателство &quot;от противного&quot;: Предположим,...

Повторять действие бесконечность раз - C++
У меня есть одна программа С++. Там есть ветвление. Как мне сделать так, чтобы при выборе продолжить, программа начиналась заново. Так,...

Машинные ноль, эпсилон и бесконечность - C++
Здравствуйте! Помогите пожалуйста разобраться что это такое и с чем его едят? я видел на вики формулы но всеровно как-то не понятно что это...

почему в программе бесконечность получается - C++
// ConsoleApplication11.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Второй цикл у меня уходит в бесконечность! Как исправить - C++
Напишите программу, запрашивающую у пользователя N целых чисел и выводящую на экран: а) количество нулей в последовательности; б)...

Проверка открытия файла либо работает, либо уходит в бесконечность - C++
string A=Enterway('t');//функция ввода адреса файла fstream str(A.c_str(), ios::in ); for(;;){ if (!str){ cout &lt;&lt; &quot;ERROR!!! Файл...

Что такое +0,-0,+бесконечность,-бесконечность в пределах и как влияет на решение? Можно пример - Математический анализ
Когда ищем точки разрыва,берем ОДЗ точки и находим в них предел. А что за минус ноль и ноль плюс? Как на решение влияет? Что такое...

Как посчитать от -бесконечность до +бесконечность integer очень быстро? - C#
Это делается с помощью цикла for, слышал про параллельные циклы, можно ли так посчитать очень быстро? Надеюсь вы скажете &quot;можно&quot;, а то...

Предел(бесконечность деленая на бесконечность в степени 0) - Математический анализ
Ребят помогите пожалуйста предел решить, уже пару недель с ним мучаюсь.(Там не log, а ln. Просто в программе по другому не пишет)

Раскрыть неопределенность бесконечность-бесконечность - Математический анализ
\lim_{x \rightarrow \pi/4}\frac{1}{1-tgx}-\lg 2x Помогите раскрыть

Раскрыть неопределенность [бесконечность-бесконечность](2) - Математический анализ
Помогите \lim_{x \rightarrow \pi/2}(\frac{6}{cos2x+cos4x}+tg^2 x)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.12.2010, 00:29     Бесконечность #2
C++
1
return sin(a*x)/x;
а что это за a ?
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
04.12.2010, 01:05  [ТС]     Бесконечность #3
Нужно для специальной проверки, так в условии
а, если не заметили, константа первой строчкой, так надо
роли не играет, что с ней что без результат одинаково неправильный

Добавлено через 10 минут
Кароче пока вы думали - нашел
переменная s1 не определается потому как считается как sin(0)/0

Добавлено через 2 минуты
впорос о том, как передать бесконечность в с++ не отпал
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
04.12.2010, 01:13     Бесконечность #4
впорос о том, как передать бесконечность в с++ не отпал
В том случае когда х достигает такой величины, что изменение значения суммы становиться равным нулю, можно ожидать, что и последующих увеличениях х оно останеться равным нулю.
Именно это значение х можно считать бесконечным для данной функции.
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
04.12.2010, 01:19     Бесконечность #5
ну мягко говоря просто так это не будет работать, скорее всего тут нужен будет отдельный метод
пускай f(b) = 1, но такие конструкции как h=(b-a)*0.5; уже фантастика - бесконечность пополам
с другой стороны интеграл сходящийся, а значит b можно взять просто некоторое большое значение, но тут по хорошему метод переделывать надо, он должен быть другим
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
04.12.2010, 01:27  [ТС]     Бесконечность #6
процедура, к сожалению, тоже не моя, а стандартная, так что менять нельзя
а если брать "очень большое число", то как определить его? при значении 10000 не достаточно точно, а при 1000000 уже не считает за нормальное время
Yandex
Объявления
04.12.2010, 01:27     Бесконечность
Ответ Создать тему
Опции темы

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