Перейти к содержимому

Hyperbolic Functions Calculator

Вычислите sinh, cosh, tanh и обратные гиперболические функции с проверкой идентичности.

Об этом инструменте

Гиперболические функции — это математические функции, аналогичные обычным тригонометрическим функциям, но действующие на гиперболах вместо окружностей. Шесть основных гиперболических функций — sinh, cosh, tanh, coth, sech и csch — часто встречаются в инженерии, физике и прикладной математике, особенно в сценариях, связанных с экспоненциальным ростом, теплопроводностью и распространением волн. Этот калькулятор вычисляет все шесть функций и их обратные (asinh, acosh, atanh, acoth, asech, acsch) с высокой точностью, что делает его незаменимым инструментом для студентов, инженеров и исследователей, работающих с гиперболическими соотношениями.

Чтобы использовать этот калькулятор, просто введите действительное число и выберите гиперболическую функцию для вычисления. Инструмент мгновенно возвращает результат вместе с дополняющей обратной функцией, позволяя проверить соотношения и убедиться в правильности расчётов. Для продвинутых пользователей функция проверки идентичностей отображает важные математические тождества, такие как cosh²(x) − sinh²(x) = 1, помогая понять структурные связи между гиперболическими функциями и подтвердить вычисленные результаты на соответствие известным свойствам.

Гиперболические функции незаменимы в областях, начиная от цепных линий в архитектуре и проектировании висячих мостов и заканчивая релятивистской физикой и расчётами энтропии в термодинамике. Обратные функции столь же важны для решения уравнений, в которых встречаются гиперболические функции. Этот инструмент принимает как малые, так и большие значения; при очень больших входных данных можно наблюдать экспоненциальный рост sinh и cosh — поведение, отличное от их тригонометрических аналогов.

Часто задаваемые вопросы

Реализация кода

import math

def calculate_hyperbolic(x: float) -> dict:
    """Calculate all hyperbolic functions and their inverses."""
    results = {
        "sinh": math.sinh(x),
        "cosh": math.cosh(x),
        "tanh": math.tanh(x),
        "csch": 1 / math.sinh(x) if x != 0 else float('inf'),
        "sech": 1 / math.cosh(x),
        "coth": 1 / math.tanh(x) if x != 0 else float('inf'),
    }

    # Inverse hyperbolic (valid ranges)
    if abs(x) >= 1:
        results["asinh"] = math.asinh(x)
        results["acosh"] = math.acosh(x) if x >= 1 else None
    else:
        results["asinh"] = math.asinh(x)
        results["acosh"] = None  # Domain: x >= 1

    results["atanh"] = math.atanh(x) if abs(x) < 1 else None

    return {k: round(v, 8) if isinstance(v, float) else v
            for k, v in results.items()}

# Identity verifications
x = 1.5
r = calculate_hyperbolic(x)
print(f"x = {x}")
for name, value in r.items():
    print(f"  {name}({x}) = {value}")

# Verify identity: cosh²(x) - sinh²(x) = 1
print(f"\ncosh²(x) - sinh²(x) = {round(r['cosh']**2 - r['sinh']**2, 10)}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.