Cbrt: примеры (JAVASCRIPT)

Кубический корень в JavaScript: работа с функцией cbrt
Раздел: Математика, Корни
cbrt(number): number

Функция Math.cbrt в JavaScript

Метод Math.cbrt() возвращает кубический корень числа. Эта функция является частью стандартного математического объекта JavaScript (Math) и используется для вычисления корня третьей степени.

Синтаксис:

Math.cbrt(x)

Аргументы: функция принимает один обязательный аргумент x, который является числом. Аргумент автоматически преобразуется в тип number, если это возможно.

Возвращаемое значение:

  • Кубический корень переданного числа x.
  • Для нечисловых аргументов, которые нельзя преобразовать в число, возвращается NaN.
  • Для null, true, false и пустых строк происходит преобразование в число (0, 1, 0, 0 соответственно), после чего вычисляется корень.
  • Для положительной и отрицательной бесконечности, а также нуля возвращается соответственно: Infinity, -Infinity, 0.

Функция часто используется в научных вычислениях, 3D-графике, статистике и других областях, где требуется операция извлечения кубического корня.

Короткие примеры использования

Пример с положительным числом:

Math.cbrt(27);
3

Пример с отрицательным числом:

Math.cbrt(-64);
-4

Пример с нулем:

Math.cbrt(0);
0

Пример с десятичной дробью:

Math.cbrt(0.125);
0.5

Пример с бесконечностью:

Math.cbrt(Infinity);
Infinity

Пример с преобразованием строки:

Math.cbrt('8');
2

Пример с нечисловым аргументом:

Math.cbrt('текст');
NaN

Похожие функции в JavaScript

Math.sqrt(x) — возвращает квадратный корень числа. Используется для извлечения корня второй степени. Отличается от cbrt степенью корня.

Math.pow(x, y) — возвращает x в степени y. Для вычисления кубического корня можно использовать Math.pow(x, 1/3), но это менее точно для отрицательных чисел, так как Math.pow с дробным показателем для отрицательных аргументов часто возвращает NaN.

** Оператор — современный способ возведения в степень. Например, для кубического корня: x ** (1/3). Имеет те же ограничения с отрицательными числами, что и Math.pow.

Выбор функции зависит от задачи. Math.cbrt предпочтительнее для кубического корня, особенно с отрицательными числами, так как обеспечивает точный и ожидаемый результат. Для квадратного корня используют Math.sqrt. Для корней других степеней или универсального решения подходят Math.pow или оператор **.

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

Python: функция math.cbrt() доступна в модуле math с версии Python 3.11. Также можно использовать x ** (1/3) или math.pow(x, 1/3).

import math
print(math.cbrt(27))
3.0

PHP: функция pow($x, 1/3) или оператор **. Специальной функции для кубического корня нет.

echo pow(27, 1/3);
3

MySQL: оператор POW(). Пример: SELECT POW(27, 1/3); вернет 3.

C/C++: функция cbrt() доступна в библиотеке math.h (cmath в C++). Возвращает кубический корень для double, float и long double (cbrtf, cbrtl).

#include 
std::cout << cbrt(27);
3

Отличия от JavaScript: в Python и C функция также возвращает кубический корень для отрицательных чисел, в PHP и MySQL аналоги работают через степень, что может дать NaN для отрицательных аргументов.

Типичные ошибки

1. Передача нечислового значения, которое не преобразуется:

Math.cbrt('abc');
NaN

2. Ожидание другого результата для отрицательных чисел при использовании альтернатив: Использование Math.pow(-8, 1/3) возвращает NaN, в то время как Math.cbrt(-8) вернет -2.

Math.pow(-8, 1/3);
NaN
Math.cbrt(-8);
-2

3. Игнорирование типа возвращаемого значения: функция всегда возвращает число (или NaN), но в дальнейших вычислениях это может привести к неожиданностям, если не проверить на NaN.

let result = Math.cbrt('текст');
if (isNaN(result)) {
    console.log('Ошибка вычисления');
}
Ошибка вычисления

4. Неправильный вызов функции: попытка использовать метод как функцию без Math.

cbrt(27);
ReferenceError: cbrt is not defined

Изменения в последних версиях

Функция Math.cbrt() была добавлена в стандарт ECMAScript 2015 (ES6). До этого в JavaScript не было встроенного метода для вычисления кубического корня, и разработчики использовали Math.pow() или другие методы.

В более поздних версиях ECMAScript функция не претерпела изменений в поведении или синтаксисе. Она стабильна и поддерживается во всех современных браузерах и средах выполнения, таких как Node.js.

Расширенные примеры использования

Вычисление объема куба по длине стороны и наоборот:

Пример javascript
let sideLength = 4;
let volume = Math.pow(sideLength, 3); // Объем куба
console.log('Объем:', volume);
let calculatedSide = Math.cbrt(volume); // Сторона из объема
console.log('Сторона:', calculatedSide);
Объем: 64
Сторона: 4

Использование в функции для решения кубического уравнения вида x³ = a:

Пример javascript
function solveCubicEquation(a) {
    return Math.cbrt(a);
}
console.log(solveCubicEquation(125));
5

Работа с массивами чисел:

Пример javascript
let numbers = [1, 8, 27, 64, 125];
let cubeRoots = numbers.map(num => Math.cbrt(num));
console.log(cubeRoots);
[1, 2, 3, 4, 5]

Использование для отрицательных и дробных значений в научных расчетах:

Пример javascript
console.log(Math.cbrt(-0.008));
console.log(Math.cbrt(2.197));
-0.2
1.3

Проверка на целочисленность кубического корня:

Пример javascript
let num = 343;
let root = Math.cbrt(num);
if (Number.isInteger(root)) {
    console.log(`Число ${num} является полным кубом числа ${root}`);
}
Число 343 является полным кубом числа 7

Комбинирование с другими математическими функциями:

Пример javascript
// Вычисление корня четвертой степени через кубический и квадратный корни
let number = 81;
let fourthRoot = Math.cbrt(Math.sqrt(number));
console.log(fourthRoot);
3

Использование в анимации для нелинейных преобразований:

Пример javascript
// Плавное изменение значения с помощью кубического корня
function smoothTransform(t) {
    return Math.cbrt(t); // t в диапазоне [0, 1]
}
console.log(smoothTransform(0.125));
0.5

JS cbrt function comments

En
Cbrt Returns the cube root of a number