Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2013, 01:26   #1
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию Эпсилон - это не то, что о нем думают

Часто всречаются темы в Помощи студентам:
Высислить с точностью Е ( эпсилон) сумму бесконечного ряда. Предполагается простое решение. То есть сравниваешь очередной член с E во while или repeat , и если меньше, прекращаешь суммировать.

Но , на самом деле задача оценки Е не такая простая. "Оценка остаточного члена ", там всякие производные и прочее.
Пример : сумма 1+1/4+1/9 + ... +1/n^2 , то есть дзета-функция Римана ζ(2).
Допустим, надо E = 0,01. Уже 1/11^2 < 0,01 .
Суммируем 11 членов, получаем 1.558032194. На самом деле, точное значение 1.644934067 , ошибка 0.086901873 - гораздо больше 0,01.

А гармонический ряд ζ(1) = 1+1/2+1/3 + ... 1/n вообще расходится.

Поэтому вопрос - кто вообще нынче преподает программирование и составляет задачи? Или программирование и математика уже окончательно разошлись?
type_Oleg вне форума Ответить с цитированием
Старый 19.11.2013, 01:56   #2
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
"Оценка остаточного члена "
Простая, естественно, справедлива для сходимости только некоторых рядов.
Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Или программирование и математика уже окончательно разошлись?
Так это давно случилось, только заметили что ли?
И как Utkin не собирал потом их вместе, после деления на ноль уже ничего нельзя было с этим поделать
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 19.11.2013 в 01:58.
MihalNik вне форума Ответить с цитированием
Старый 19.11.2013, 02:38   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Правильное решение задачи такое:
Код:
const
  eps = 0.01;
  Magic = 1.644934067;

var
  d, s: Double;
  n: Integer;

begin
  s := 0;
  n := 1;
  repeat
    d := 1 / (n * n);
    s := s + d;
    Inc(n);
  until abs(s - Magic) < eps;
  WriteLn(s:0:9);
end.
Arigato вне форума Ответить с цитированием
Старый 19.11.2013, 02:50   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Arigato, хорошо, если Magic известно. Например указано, какая функция разлагается в ряд.
А если не известно, как тут- http://programmersforum.ru/showthread.php?t=248313
type_Oleg вне форума Ответить с цитированием
Старый 19.11.2013, 09:39   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Поэтому вопрос - кто вообще нынче преподает программирование и составляет задачи?
Так уж кто преподает. Понятно, что задача по ссылке возможно будет не корректно решена с точки зрения достижения заданной точности. Но целью она преследует научить работе с циклами. И научит, ну, если никто на форуме за ученика не решит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 19.11.2013 в 09:41.
Аватар вне форума Ответить с цитированием
Старый 19.11.2013, 09:39   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Поэтому вопрос - кто вообще нынче преподает программирование и составляет задачи? Или программирование и математика уже окончательно разошлись?
У математиков и программистов цели разные. Программист, это в сущьности переводчик между человеком и машиной. Конечно, он должен разбираться в формулах (иначе, как он их впихнёт в программу), но не нужно требовать от программистов, быль Ландау.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 19.11.2013, 10:20   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Arigato, хорошо, если Magic известно. Например указано, какая функция разлагается в ряд.
А если не известно, как тут- http://programmersforum.ru/showthread.php?t=248313
На первый взгляд, в этой задаче вполне применим метод оценки приращения.
Хотя это: -1^(2n-1), странная штука, которая всегда будет выдавать -1.
Arigato вне форума Ответить с цитированием
Старый 19.11.2013, 10:22   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
На первый взгляд, в этой задаче вполне применим метод оценки приращения.
Хотя это: -1^(2n-1), странная штука, которая всегда будет выдавать -1.
Ага, именно из-за знакопостоянства не очень-то применим. И, да, странное выражение, которое просто на минус заменяется. Скорее всего ошибка в записи
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 19.11.2013 в 10:25.
Аватар вне форума Ответить с цитированием
Старый 19.11.2013, 10:25   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Запись напоминает разложение экспоненты, а экспонента с заданной точностью отлично считается с проверкой приращения.
Arigato вне форума Ответить с цитированием
Старый 19.11.2013, 13:17   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Извините, но я в тему не вьехал. Студенты говорят "эпсилон", понимая под ним "ничегонипонимаю", поэтому первоочередная задача - замылить глаз преподу, а уже все остальное философствование потом. И зачем все усложнять для бытовых масштабов?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть файл, в нем словосочетания в столбец, нужно к каждому словосочетанию добавить символ. Как это сделать? antoha487 Помощь студентам 7 15.06.2012 21:58
<< >> & ^ | с чем это едят и что это такое? pufystyj Общие вопросы C/C++ 4 30.03.2011 13:59
Эквалайзер...что это? кто это? Можно ли с ним подружиться? .Phoenix Мультимедиа в Delphi 45 08.04.2010 23:37
Как передать параметру записи, что в нем параметр это статический массив с данными? SkAndrew Общие вопросы Delphi 6 26.06.2009 02:02