Atanh: примеры (PHP)

Использование функции atanh для вычислений в PHP
Раздел: Математические функции
atanh(float $num): float
Функция atanh в PHP

Функция atanh() вычисляет гиперболический арктангенс (ареатангенс) числа. Она является обратной функцией к tanh(). Основная область применения — математические расчеты, связанные с гиперболическими функциями, обработкой сигналов и статистикой.

Аргументы функции

Функция принимает один обязательный параметр:

  • $num (float) — число, для которого вычисляется гиперболический арктангенс. Значение должно находиться в интервале (-1, 1), исключая границы. Выход за пределы этого интервала приводит к NAN.

Возвращаемое значение — число типа float (гиперболический арктангенс) или NAN при недопустимых входных данных.

Базовые примеры использования
Вычисление для допустимых значений
<?php
echo atanh(0.5);  // 0.54930614433405
echo atanh(0.0);  // 0
echo atanh(-0.3); // -0.30951960420311
?>
0.54930614433405
0
-0.30951960420311
Граничные случаи
<?php
var_dump(atanh(1));   // float(NAN)
var_dump(atanh(-1));  // float(NAN)
var_dump(atanh(1.5)); // float(NAN)
?>
float(NAN)
float(NAN)
float(NAN)
Похожие функции в PHP
  • tanh() — вычисляет гиперболический тангенс. Обратная операция к atanh().
  • asinh() — вычисляет гиперболический арксинус.
  • acosh() — вычисляет гиперболический арккосинус. Принимает значения ≥1.
  • atan() — вычисляет арктангенс (тригонометрический).

Выбор функции зависит от решаемой математической задачи: atanh() применяется исключительно для гиперболических вычислений.

Аналоги в других языках

Atanh в Python

import math
print(math.atanh(0.5))  # 0.5493061443340549
0.5493061443340549

Atanh в Javascript

console.log(Math.atanh(0.5)); // 0.5493061443340549
0.5493061443340549

Atanh в MySQL

SELECT ATANH(0.5); -- 0.5493061443340549
0.5493061443340549

Синтаксис и поведение идентичны PHP, различия могут быть в точности вычислений.

Распространенные ошибки
Передача значений вне диапазона
<?php
$result = atanh(2);
echo is_nan($result) ? 'NAN' : $result; // NAN
?>
NAN
Использование строк вместо чисел
<?php
// PHP пытается преобразовать строку в число
echo atanh('0.5'); // 0.54930614433405
// Но некорректные строки дают 0
echo atanh('abc'); // 0
?>
0.54930614433405
0
Изменения в версиях PHP

Функция atanh() присутствует с PHP 4.1.0. В PHP 5.3.0 была добавлена возможность вызова с одним аргументом, ранее требовалось указание всех параметров математических функций. С PHP 8.0.0 строгая типизация может вызывать TypeError при неверном типе аргумента в строгом режиме.

Расширенные примеры
Проверка входа в область определения
Пример php
<?php
function safeAtanh($x) {
    if ($x <= -1 || $x >= 1) {
        throw new InvalidArgumentException('Значение должно быть в интервале (-1, 1)');
    }
    return atanh($x);
}
try {
    echo safeAtanh(0.8); // 1.0986122886681
    echo safeAtanh(1.2); // Исключение
} catch (Exception $e) {
    echo $e->getMessage();
}
?>
1.0986122886681
Значение должно быть в интервале (-1, 1)
Обратное преобразование
Пример php
<?php
$x = 0.6;
$y = atanh($x);
$original = tanh($y);
echo round($original, 12); // 0.6
?>
0.6
Решение уравнений
Пример php
<?php
// Решение уравнения tanh(x) = 0.7
$x = atanh(0.7);
echo $x; // 0.86730052769405
// Проверка
echo tanh($x); // 0.7
?>
0.86730052769405
0.7
Работа с массивами
Пример php
<?php
$values = [0.1, 0.2, 0.3];
$results = array_map('atanh', $values);
print_r($results);
?>
Array
(
    [0] => 0.10033534773108
    [1] => 0.20273255405408
    [2] => 0.30951960420311
)

PHP atanh function comments

En
Atanh Inverse hyperbolic tangent