Cbrt: примеры (JAVASCRIPT)
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.
Расширенные примеры использования
Вычисление объема куба по длине стороны и наоборот:
let sideLength = 4;
let volume = Math.pow(sideLength, 3); // Объем куба
console.log('Объем:', volume);
let calculatedSide = Math.cbrt(volume); // Сторона из объема
console.log('Сторона:', calculatedSide);Объем: 64 Сторона: 4
Использование в функции для решения кубического уравнения вида x³ = a:
function solveCubicEquation(a) {
return Math.cbrt(a);
}
console.log(solveCubicEquation(125));5
Работа с массивами чисел:
let numbers = [1, 8, 27, 64, 125];
let cubeRoots = numbers.map(num => Math.cbrt(num));
console.log(cubeRoots);[1, 2, 3, 4, 5]
Использование для отрицательных и дробных значений в научных расчетах:
console.log(Math.cbrt(-0.008));
console.log(Math.cbrt(2.197));-0.2 1.3
Проверка на целочисленность кубического корня:
let num = 343;
let root = Math.cbrt(num);
if (Number.isInteger(root)) {
console.log(`Число ${num} является полным кубом числа ${root}`);
}Число 343 является полным кубом числа 7
Комбинирование с другими математическими функциями:
// Вычисление корня четвертой степени через кубический и квадратный корни
let number = 81;
let fourthRoot = Math.cbrt(Math.sqrt(number));
console.log(fourthRoot);3
Использование в анимации для нелинейных преобразований:
// Плавное изменение значения с помощью кубического корня
function smoothTransform(t) {
return Math.cbrt(t); // t в диапазоне [0, 1]
}
console.log(smoothTransform(0.125));0.5