![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 20.11.2012
Сообщений: 6
|
![]()
Необходимо вычислить с помощью ряда значение гиперболического синуса sh(x), в задаваемом интервале, с задаваемым шагом изменением х, и начальным значением х (данные вводим с клавиатуры).
Ряд разложения: (x^(2n+1)) / (2n+1)! Пишу так: Код:
В чем ошибка? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
(2n+1)! = (2n-1)! * 2n * (2n+1). Это раз.
Кто такой k и зачем ему нужен k++, моя ни черта не понял, это два. Если Вы в каждой итерации будете заодно выводить f, будет Вам три. Ну, и eps ни разу не точность вычислений, и распространённость этого ляпа меня уже раздражает. Это четыре. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 20.11.2012
Сообщений: 6
|
![]()
По k идет внешний цикл, где к x прибавляется шаг l, до тех пор пока x находится в интервале a,b.
А что с точностью и факториалом не так? |
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Цитата:
С точностью всё заметно хуже - судя по постам здесь, это поразительно распространённая ошибка. Вот, к примеру, код: Код:
|
||
![]() |
![]() |
![]() |
#5 |
Регистрация: 20.11.2012
Сообщений: 6
|
![]()
и, каким макаром тогда действовать?
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 20.11.2012
Сообщений: 6
|
![]() Код:
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
1) Теперь Вы должны заметить, что функция всё растёт, и растёт, и растёт... А разгадка проста: суммировать ряд - это прибавлять все члены к некоторому начальному значению. На первой итерации оно 0 (что правильно), а на второй - sh(x) (что неправильно).
2) Если требуют именно "найти сумму с точностью до...", а не "сложить все члены не меньше...", то это неприятность. Терпимая в данном случае: сумма членов вида x^(2n+1)/(2n+1)! при n>N может быть ограничена сверху при N>x/2 выражением E(x, N) = x^(2N+1)/((2N-1)!*(4N^2-x^2)). Когда n станет больше x/2 И E(x, n) станет меньше e, накопленная сумма будет достаточно точной. Если интересно, как получается выражение - возьмите хвост последовательности (x^(2n+1)/(2n+1)! и далее), и попробуйте вынести первый член за скобки, а для слагаемых в скобках подобрать величины больше их, образующие геометрическую прогрессию. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 20.11.2012
Сообщений: 6
|
![]()
Да, нужно "сложить все члены не меньше". К какому тогда начальному значчению прибавлять?
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 |
Регистрация: 20.11.2012
Сообщений: 6
|
![]()
Ну да, это понял я, тогда каким макаром прибавлять, и к какому значению?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Логарифм по основанию делёный на гиперболический синус. Delphi | Dilex | Помощь студентам | 9 | 11.12.2011 15:53 |
Гиперболический косинус | Ewynn | Помощь студентам | 0 | 05.11.2011 13:14 |
Обратный гиперболический синус | Lofty | Помощь студентам | 2 | 07.10.2008 18:20 |
гиперболический косинус | lag@dinfo.ru | Помощь студентам | 2 | 08.12.2007 13:51 |