Вычисление гиперболического косинуса через разложение в ряд Тейлора с помощью рекурсивной процедуры - C (СИ)
Формулировка задачи:
Мне нужно написать рекурсию на примере Ряда Тэйлора на гиперболический косинус , вообще не разобраться мне (
Решение задачи: «Вычисление гиперболического косинуса через разложение в ряд Тейлора с помощью рекурсивной процедуры»
textual
Листинг программы
float teylor(float x, int n, float lastVal, float eps) {
float val = lastVal*x*x / ((2*n-1) * 2*n);
lastVal += val;
if (fabs(val) < eps)
return lastVal;
else
return teylor(x, n+1, lastVal, eps);
}
Объяснение кода листинга программы
- Заголовок функции
teylor - Входные параметры функции: x, n, lastVal, eps
- Вычисление значения функции внутри функции
- Вычисление значения переменной
val - Обновление значения переменной
lastVal - Проверка условия для выхода из рекурсии
- Рекурсивный вызов функции
teylorс обновленными значениями параметров - Возврат значения из рекурсивного вызова или из основного вызова функции
- Условие для остановки рекурсии
- Значение переменной
eps - Значение переменной
n - Значение переменной
x - Значение переменной
lastVal - Значение переменной
val - Функция
fabsиспользуется для получения абсолютного значения числа - Значение переменной
epsиспользуется для сравнения с абсолютным значениемval - Выход из рекурсии и возврат значения
lastVal - Выход из рекурсии и возврат значения, полученного в результате рекурсивного вызова функции
teylor - Значение переменной
nиспользуется в рекурсивном вызов - Значение переменной
xиспользуется в рекурсивном вызов