Log10: примеры (JAVASCRIPT)
log10(number): numberФункция Math.log10()
Функция Math.log10() возвращает десятичный логарифм (логарифм по основанию 10) переданного числа. Эта функция часто применяется в научных расчетах, обработке сигналов, анализе данных и алгоритмах, где требуется логарифмическая шкала.
Синтаксис: Math.log10(x)
Аргументы:
x- число, для которого вычисляется десятичный логарифм. Должно быть положительным числом (больше 0).
Возвращаемое значение:
- Десятичный логарифм числа
x(log₁₀ x) NaN(Not-a-Number), еслиxменьше 0NaN, еслиxравно 0 (предел стремится к -∞)NaN, еслиxне является числом или не может быть преобразовано в число-Infinityдля значений, очень близких к 0 с положительной стороны
Базовые примеры использования
Пример вычисления десятичного логарифма для разных значений:
console.log(Math.log10(100));
console.log(Math.log10(1000));
console.log(Math.log10(1));
console.log(Math.log10(0.1));2 3 0 -1
Примеры с особыми значениями:
console.log(Math.log10(-5));
console.log(Math.log10(0));
console.log(Math.log10("100"));
console.log(Math.log10("abc"));NaN -Infinity 2 NaN
Похожие функции в JavaScript
Math.log() - натуральный логарифм (по основанию e). Используется в математическом анализе и непрерывных процессах.
Math.log2() - двоичный логарифм (по основанию 2). Применяется в информатике, алгоритмах и компьютерных науках.
Выбор функции зависит от контекста: Math.log10() оптимален для работы с десятичными системами и порядками величин, Math.log2() - для битовых операций, Math.log() - для естественных процессов.
Аналоги в других языках программирования
Python: math.log10(x) из модуля math
import math
print(math.log10(100)) # 2.0PHP: log10($x)
echo log10(100); // 2MySQL: LOG10(x)
SELECT LOG10(100); -- 2C/C++: log10(x) из math.h
#include
double result = log10(100.0); // 2.0 Основные отличия: в Python возвращает float даже для целых чисел, в C требуется подключение библиотеки.
Типичные ошибки
Передача отрицательных чисел или нуля:
console.log(Math.log10(-1)); // NaN
console.log(Math.log10(0)); // -InfinityНекорректное преобразование типов:
console.log(Math.log10("")); // -Infinity (пустая строка = 0)
console.log(Math.log10(null)); // -Infinity (null = 0)
console.log(Math.log10(undefined)); // NaNОжидание целых чисел для дробных результатов:
console.log(Math.log10(50)); // 1.6989700043360187Изменения в последних версиях
Функция Math.log10() была добавлена в спецификацию ECMAScript 2015 (ES6). В более ранних версиях JavaScript для получения десятичного логарифма использовалось выражение Math.log(x) / Math.LN10.
Современные браузеры и среды выполнения (Node.js) полностью поддерживают эту функцию с 2015 года. Полифиллы для старых сред:
if (!Math.log10) {
Math.log10 = function(x) {
return Math.log(x) * Math.LOG10E;
};
}Расширенные примеры применения
Определение порядка числа (количество цифр в целой части):
function getOrderOfMagnitude(num) {
return Math.floor(Math.log10(num));
}
console.log(getOrderOfMagnitude(12345)); // 4Преобразование линейной шкалы в децибелы:
function toDecibels(amplitudeRatio) {
return 20 * Math.log10(amplitudeRatio);
}
console.log(toDecibels(2)); // 6.020599913279624Вычисление pH раствора (отрицательный десятичный логарифм концентрации ионов):
function calculatePH(hydrogenIonConcentration) {
return -Math.log10(hydrogenIonConcentration);
}
console.log(calculatePH(0.001)); // 3Анализ данных с логарифмическим масштабированием:
const data = [1, 10, 100, 1000, 10000];
const logScaled = data.map(x => Math.log10(x));
console.log(logScaled); // [0, 1, 2, 3, 4]Проверка является ли число степенью 10:
function isPowerOfTen(num) {
const log = Math.log10(num);
return Math.abs(log - Math.round(log)) < 1e-10;
}
console.log(isPowerOfTen(1000)); // true
console.log(isPowerOfTen(999)); // false