Asinh: примеры (JAVASCRIPT)
asinh(number): numberФункция Math.asinh в JavaScript
Метод Math.asinh() возвращает гиперболический арксинус числа. Это обратная функция к Math.sinh(). Гиперболический арксинус определяется как значение, чей гиперболический синус равен заданному числу.
Функция используется в математических расчетах, инженерных задачах, статистике и компьютерной графике, где требуются обратные гиперболические функции.
Аргументы
- x (число) - единственный обязательный аргумент. Может быть любым числовым значением, включая положительную и отрицательную бесконечность.
Возвращаемое значение
- Гиперболический арксинус числа x в радианах. Возвращает NaN, если аргумент не может быть преобразован в число.
- Для очень больших положительных или отрицательных значений возвращает приближенные значения с учетом асимптотического поведения.
Примеры использования Math.asinh
Базовые примеры
Пример с положительным числом:
console.log(Math.asinh(1));0.881373587019543
Пример с отрицательным числом:
console.log(Math.asinh(-2.5));-1.6472311463710958
Пример с нулем:
console.log(Math.asinh(0));0
Пример с большим числом:
console.log(Math.asinh(1000));7.600902209541989
Альтернативные функции в JavaScript
Math.sinh(x) - гиперболический синус. Прямая функция к asinh. Используется для прямого вычисления гиперболического синуса.
Math.acosh(x) - гиперболический арккосинус. Работает только с x >= 1. Подходит для расчетов с гиперболическим косинусом.
Math.atanh(x) - гиперболический арктангенс. Работает в диапазоне -1 < x < 1. Применяется для обратных вычислений гиперболического тангенса.
Выбор функции зависит от математической задачи: asinh для обратного гиперболического синуса, acosh для косинуса, atanh для тангенса.
Аналоги функции в других языках
Python
Функция math.asinh() из модуля math.
import math
print(math.asinh(2.5))1.6472311463710958
PHP
Функция asinh().
echo asinh(2.5);1.6472311463711
C
Функция asinh() из библиотеки math.h.
#include <math.h>
double result = asinh(2.5);MySQL
Функция ASINH() доступна с версии 8.0.
SELECT ASINH(2.5);1.6472311463710958
Различия минимальны, в основном в синтаксисе вызова. JavaScript и Python возвращают числа с плавающей точкой, PHP выводит строковое представление.
Типичные ошибки
Нечисловые аргументы
Передача строк, которые не преобразуются в число, приводит к NaN.
console.log(Math.asinh('текст'));NaN
Использование с undefined и null
null преобразуется в 0, undefined в NaN.
console.log(Math.asinh(null));
console.log(Math.asinh(undefined));0 NaN
Пустой вызов
Вызов без аргументов вернет NaN.
console.log(Math.asinh());NaN
История изменений
Функция Math.asinh() была добавлена в стандарт ECMAScript 2015 (ES6). В более ранних версиях JavaScript метод отсутствовал. Для обратной совместимости можно использовать полифиллы.
С момента добавления в спецификации не было значительных изменений в поведении или синтаксисе функции.
Расширенные примеры
Расчет угла в гиперболической геометрии
function hyperbolicAngle(side) {
return 2 * Math.asinh(side / 2);
}
console.log(hyperbolicAngle(3));2.88727095035762
Обратное преобразование для sinh
let x = 1.5;
let sinhVal = Math.sinh(x);
let asinhVal = Math.asinh(sinhVal);
console.log(`Исходное: ${x}, sinh: ${sinhVal}, asinh(sinh): ${asinhVal}`);Исходное: 1.5, sinh: 2.1292794550948173, asinh(sinh): 1.5
Работа с массивами
let values = [0.1, 0.5, 1, 2];
let result = values.map(Math.asinh);
console.log(result);[0.09983407889920758, 0.48121182505960347, 0.881373587019543, 1.4436354751788103]
Граничные значения
console.log(Math.asinh(Infinity));
console.log(Math.asinh(-Infinity));Infinity -Infinity
Применение в статистике
function normalizeData(data) {
return data.map(val => Math.asinh(val / 100));
}
console.log(normalizeData([50, 100, 200]));[0.48121182505960347, 0.881373587019543, 1.4436354751788103]