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

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

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

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

19.09.2013, 11:08. Просмотров 687. Ответов 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     При больших значениях х ряд считает направильно
Посмотрите здесь:

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

Разложение в ряд. Не правильно считает - C++
Программа высчитывает значение функции и значение этой функции через ряд в данной точке. Вроде все высчитывается. Но при х&gt;6 ну или где...

Разложение в ряд Тейлора (неверно считает) - C++
Задача: Вычислить и вывести на экран в виде таблицы значения функции F(x) на интервале с шагом dx с точностью до Eps. Каждая строка...

Почему при матрице 19х19 считает, а при 20х20 вылетает? - C++
Здравствуйте, искал решение задачи коммивояжера полным перебором нашел тут: ...

Вычисление значения y при разных значениях a и b - C++
Только начал изучать c++ помогите с программой

Найти значение х и у при заданных значениях a и b: - C++
Найти значение х и у при заданных значениях a и b:

Вычислить выражение при разных значениях икса - C++
У меня есть программа которая считает выражение при разных значениях икса. Вот программа: #include &lt;iostream&gt; #include &lt;math.h&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
19.09.2013, 14:37     При больших значениях х ряд считает направильно #21
Цитата Сообщение от monolit Посмотреть сообщение
Там кода вообще на 10 строчек, а тут целое сочинение пишут...
Если бы вы читали, что в посте №3 написанно то увидели бы, что можно ограничиться максимум 3-мя строчками.
И сколько раз вам повторять оценка
C++
1
(abs(abs(cur)-abs(prev))
не правильная.
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
19.09.2013, 14:56     При больших значениях х ряд считает направильно #22
Если не нравится, можете оценивать разность между предыдущей и следующей суммами. Но я всегда пользовался оценкой между членами ряда, и проблем не знал. Он же не в промышленности где программу пишет, в самом деле.
И если eps не будет уж совсем маленьким(очень-очень), то переполнения не возникнем(учитывая, что double 8 байтный, и диапазон его довольно таки немаленький). И уж не с вами ли я спорил насчет ряда Тейлора (и оказался прав)?
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 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     При больших значениях х ряд считает направильно
Еще ссылки по теме:

Вычислить значения функций при различных значениях x - C++
Помогите! Вычислить значения функций y(x) и z(x, y) при различных значениях x. Пожалуйста!)

Вычислить интеграл при двух значениях шага интегрирования (h=0.1 и h=0.01). - C++
Вычислить интеграл \int_{a}^{b}({x}^{3}-8*x)dx при двух значениях шага интегрирования (h=0.1 и h=0.01). нужно тремя способами решить : ...

вывод таблицы значений функции y(x) при различных значениях - C++
написать программу на С++ для вывода таблицы значений функции y(x) при различных значениях x. Значения переменной х меняються от a до b с...

Разные результаты программы при постоянных входных значениях - C++
Доброго времени суток! Столкнулся с такой проблемой - ввожу одни и те же значения в исходный массив. Запускаю программу - выдает один...

Вычисление значений функций при различных значениях аргументов - C++
Составить программу вычисления значения функций при различных значениях аргументов, заданных интервалом изменения и величиной шага.


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

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

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