гиперболический косинус

помогите с гиперболическим косинусом.

import math

def ex_cosh(x, eps =10**(-10)):
    ex = 1 # 
    dx = x ** 2 
    i = 2 
    while abs(dx)>eps :
        ex = ex + dx 
        dx = dx *x/ i
        i = i + 2 
    return ex
A = float(input('Введите значение:'))
print(ex_cosh(A))
print(math.cosh(A))

Понимаю что ошибся в формуле, но не понимаю как ее написать


Ответы (1 шт):

Автор решения: eri

введите сюда описание изображения

В цикле надо добавить i+=2 перед расчетом нового dx, в dx надо умножать на x*2 и поделить (i-1) чтоб факториал получился. Первый элемет забыли поделить на i.

import math

def ex_cosh(x, eps =10**(-10)):
    ex = 1 # 
    i = 2 
    dx = x ** 2 / i
    while abs(dx)>eps :
        ex = ex + dx 
        i+=2
        dx = dx * x*x / i / (i-1)
    return ex

A = float(input('Введите значение:'))
print(ex_cosh(A))
print(math.cosh(A))
→ Ссылка