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

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

Войти
Регистрация
Восстановить пароль
 
 
vladislav23
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 24
#1

При больших значениях х ряд считает направильно - C++

19.09.2013, 11:08. Просмотров 643. Ответов 23
Метки нет (Все метки)

При больших значениях х ряд считает направильно с чем это может быть связано, вот код и сам ряд:
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
{
   double result=1;
   long int j=2;
   bool minus=true;
   double cur=x;
   double prev=0;
   double f=0;
   do
   {
      cur=pow(x,j);
      
      if (minus)
      {
         cur=cur*(-1.0);
      }
      f=1.0;
      for (long int i=1;i<=j;i++)
      {
         f=f*i;
      }
      cur=cur/f;
      result=result+cur;
      double testval=fabs(prev)-fabs(cur);
      if (j>2&&testval<=e)
      {
         break;
      }
      
      minus=!minus;
      prev=cur;
      j+=2;
   } while (1);
   return result; 
}
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2013, 11:08     При больших значениях х ряд считает направильно
Посмотрите здесь:

Вычислить значения функций при различных значениях x C++
вывод таблицы значений функции y(x) при различных значениях C++
C++ Найти значение х и у при заданных значениях a и b:
Вычисление значения y при разных значениях a и b C++
Разложение в ряд. Не правильно считает C++
C++ При разных значениях cin, выводить разные сообщения
Вычислить интеграл при двух значениях шага интегрирования (h=0.1 и h=0.01). C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1780 / 1155 / 223
Регистрация: 16.05.2013
Сообщений: 3,042
Записей в блоге: 5
Завершенные тесты: 1
19.09.2013, 14:37     При больших значениях х ряд считает направильно #21
Цитата Сообщение от monolit Посмотреть сообщение
Там кода вообще на 10 строчек, а тут целое сочинение пишут...
Если бы вы читали, что в посте №3 написанно то увидели бы, что можно ограничиться максимум 3-мя строчками.
И сколько раз вам повторять оценка
C++
1
(abs(abs(cur)-abs(prev))
не правильная.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
monolit
180 / 180 / 21
Регистрация: 24.03.2011
Сообщений: 647
Завершенные тесты: 1
19.09.2013, 14:56     При больших значениях х ряд считает направильно #22
Если не нравится, можете оценивать разность между предыдущей и следующей суммами. Но я всегда пользовался оценкой между членами ряда, и проблем не знал. Он же не в промышленности где программу пишет, в самом деле.
И если eps не будет уж совсем маленьким(очень-очень), то переполнения не возникнем(учитывая, что double 8 байтный, и диапазон его довольно таки немаленький). И уж не с вами ли я спорил насчет ряда Тейлора (и оказался прав)?
Ilot
Модератор
Эксперт С++
1780 / 1155 / 223
Регистрация: 16.05.2013
Сообщений: 3,042
Записей в блоге: 5
Завершенные тесты: 1
19.09.2013, 15:07     При больших значениях х ряд считает направильно #23
Цитата Сообщение от monolit Посмотреть сообщение
И уж не с вами ли я спорил насчет ряда Тейлора (и оказался прав)?
Много чести.
Посуммируйте тогда ряд 1/n. Для него 1/n-1/(n+1)~O(1/n), но ряд расходится. В данном случае эта оценка прокатывает только потому, что ряд фактически представляет собой ряд Лейбница и вы на самом деле имеете завышенную точность вычисления.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 15:18     При больших значениях х ряд считает направильно
Еще ссылки по теме:

Вывести на экран дисплея сообщения о значениях функции при различных значениях аргумента C++
C++ Вычислить выражение при разных значениях икса
C++ Разные результаты программы при постоянных входных значениях
C++ Разложение в ряд Тейлора (неверно считает)
C++ Вычисление значений функций при различных значениях аргументов

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

Или воспользуйтесь поиском по форуму:
monolit
180 / 180 / 21
Регистрация: 24.03.2011
Сообщений: 647
Завершенные тесты: 1
19.09.2013, 15:18     При больших значениях х ряд считает направильно #24
Но ведь у него ряд не 1/n, верно? Да, можно привести примеры, когда при выполнении условия abs(...) ряд будет расходиться, но врядли такие задачи будут давать по программированию на 1, 2м курсе(скорее 1м), где проверяется отнюдь не умение находить суммы рядов.
Yandex
Объявления
19.09.2013, 15:18     При больших значениях х ряд считает направильно
Ответ Создать тему
Опции темы

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