![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
qw1mb0 |
|
|||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
Добрый день форумчане.
Появилась необходимость в написании рекурсивной функции, но если честно не представляю как это сделать: Вот задание: ![]() При каждом вызове функции она должна возращать следующее приближение к sin x. Накидал примерно такое:
Но как выйти из рекурсии не представляю... Кто может помогите пожалуйста |
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
както так Это сообщение отредактировал(а) alexvs11 - 2.4.2012, 00:08 |
|||
|
||||
qw1mb0 |
|
|||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
Честно говоря с математикой я совсем не дружу да и с программированием не очень
![]() Но мне казалось, что при каждой итерации функция должна стремится к sin x, не так ли? Может это не понимание из-за непонимания кода, но код вроде как рабочий и почему надо отрицательное число передавать? |
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
qw1mb0, я подправил, теперь стремится
![]() не сразу вспомнил, что это за ряд а синусу без разницы какое число передавать |
|||
|
||||
qw1mb0 |
|
||||||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
alexvs11,
Можно ведь вместо (2.0*n*(2*n+1)) использовать рекурсивную функцию факториала с аргументом n ?
Добавлено через 3 минуты и 3 секунды Хм. Попробывал, понял что, что-то не то. Не могли бы вы обьяснить строку:
|
||||||
|
|||||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
qw1mb0, вычислять каждый раз факториал не имеет смысла
поясню [n = 1] x / 1!, обозначим его prev0 [n = 2] (-1) * x^3 / 3! = -1 * x^2 / (2*3) * prev0 = - 1 * x^2 * (2*n * (2*n - 1)), обозначим как prev1 [n = 3] x^5 / 5! = - x^2 / (4 * 5) * prev1 = - x^2 / (2*n * (2*n - 1)) * prev1 |
|||
|
||||
qw1mb0 |
|
|||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
А еще возник вопрос, это наверное более математический
почему при выводы функции с аргуменатми f(1) = 0.841471 f(2) = 0.909297 f(3) = 0.141120 f(4) = -0.756802 Или же про, что можно почитать, что бы данные вычисления были более ясны? |
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
qw1mb0, что именно неясно?
|
|||
|
||||
qw1mb0 |
|
|||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
Почему такие значения
![]() |
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
это значение синуса в радианной мере
f(0) = 0, f(3.14) примерно равна нулю, f(1.57) около 1цы сам по себе метод вычисления - это разложение в ряд тейлора синуса (в данном случае в ряд маклорена) |
|||
|
||||
qw1mb0 |
|
|||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
Спасибо большое, теперь стало на порядок яснее. Примного благодарен, еще почитаю о рядах.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |