Sinh: примеры (JAVASCRIPT)
sinh(number): numberОписание функции Math.sinh
Функция Math.sinh() вычисляет гиперболический синус числа. Она применяется в математике, физике и инженерии для расчётов, связанных с гиперболическими функциями, например, в задачах теории относительности или при анализе цепей.
Аргумент функции — одно число x. Если передано не число, оно автоматически преобразуется в числовой тип. Функция возвращает гиперболический синус x, равный (ex - e-x) / 2. Для нуля результат нулевой. При больших по модулю значениях x может возвращаться бесконечность.
Короткие примеры использования
Пример с положительным числом:
console.log(Math.sinh(2));3.626860407847019
Пример с отрицательным числом:
console.log(Math.sinh(-1));-1.1752011936438014
Пример с нулём:
console.log(Math.sinh(0));0
Пример с бесконечностью:
console.log(Math.sinh(Infinity));Infinity
Похожие функции в JavaScript
Math.cosh(x) — гиперболический косинус. Используется, когда нужен косинус, а не синус.
Math.tanh(x) — гиперболический тангенс. Подходит для расчётов отношений гиперболических синуса и косинуса.
Math.asinh(x) — обратный гиперболический синус. Применяется для получения аргумента по значению функции.
Аналоги функции в других языках
В Python используется math.sinh(x) из модуля math. Пример:
import math
print(math.sinh(2))3.626860407847019
В PHP существует sinh($x). Пример:
echo sinh(2);3.626860407847
В MySQL есть функция SINH(x). Пример запроса:
SELECT SINH(2);3.626860407847019
В C используется sinh(x) из библиотеки math.h. Пример:
#include <math.h>
#include <stdio.h>
int main() {
printf("%f", sinh(2));
return 0;
}3.626860
Отличий в базовом поведении между языками обычно нет, но могут различаться точность и обработка особых случаев, например, переполнения.
Типичные ошибки
Передача строки, которую нельзя преобразовать в число, приводит к NaN:
console.log(Math.sinh("abc"));NaN
Использование undefined также даёт NaN:
console.log(Math.sinh(undefined));NaN
Передача null интерпретируется как 0:
console.log(Math.sinh(null));0
Изменения в последних версиях
Функция Math.sinh() была добавлена в стандарт ECMAScript 2015 (ES6). С тех пор её поведение не менялось. В более старых средах функция может отсутствовать, но её можно реализовать через экспоненту.
Расширенные примеры
Вычисление гиперболического косинуса через sinh и cosh с использованием тождества:
let x = 1;
let sinhVal = Math.sinh(x);
let coshVal = Math.cosh(x);
console.log(sinhVal * sinhVal + 1, coshVal * coshVal);2.3810978455418165 2.3810978455418165
Имитация функции sinh через экспоненту для совместимости:
function mySinh(x) {
return (Math.exp(x) - Math.exp(-x)) / 2;
}
console.log(mySinh(2), Math.sinh(2));3.626860407847019 3.626860407847019
Использование в расчёте длины цепной линии:
let a = 2, x = 3;
let chainLength = 2 * a * Math.sinh(x / a);
console.log(chainLength);7.525749485413204
Применение для аппроксимации больших чисел:
console.log(Math.sinh(10), (Math.exp(10) - Math.exp(-10)) / 2);11013.232874703393 11013.232874703393