JS метод Math.log()
Загальний опис
Math.log()
- це вбудований метод у JavaScript, який входить до об'єкта Math
та призначений для обчислення натурального логарифма числа. Натуральний логарифм – це логарифм за основою e, де e приблизно дорівнює 2.71828.
Логарифми вивчаються у шкільній програмі, але не завжди зрозуміло, де їх можна застосувати в реальному житті. В програмуванні логарифми корисні в різних областях, таких як комп'ютерна графіка, криптографія, оптимізація запитів та багато інших. Метод Math.log()
дозволяє легко реалізувати логарифмічні операції в коді JavaScript.
Базовий синтаксис методу виглядає так: Math.log(x)
, де x
- число, для якого ви хочете обчислити натуральний логарифм. Приклад:
let result = Math.log(7.389056098930649);
console.log(result); // Приблизно дорівнює 2, оскільки e^2 = 7.389056098930649
Основні сфери застосування:
- Комп'ютерна графіка: При створенні ефектів освітлення або рендерингу текстур часто використовуються логарифмічні операції.
- Обробка даних: Логарифми можуть допомогти у візуалізації даних, які відрізняються за масштабом.
- Криптографія: Логарифми використовуються у різних криптографічних алгоритмах.
Основні особливості та прийоми:
- Від'ємні числа: Якщо аргумент методу
Math.log()
менший або дорівнює 0, метод повертає-Infinity
.
Приклад:
console.log(Math.log(-5)); // Виведе -Infinity
- Логарифм 1: Логарифм числа 1 за будь-якої основи завжди дорівнює 0.
Приклад:
console.log(Math.log(1)); // Виведе 0
Хоча метод Math.log()
є вкрай корисним, його потрібно використовувати обережно при великих числах або при роботі з точністю. Помилки округлення можуть призвести до неточних результатів.
Нотатка: | Замість використання |
Порада: | Якщо вам потрібно отримати логарифм за іншою основою, наприклад, 10, використовуйте формулу переходу між основами. Отримати логарифм за основою 10 можна так: |
Порада: | Зверніть увагу, що
|
Синтаксис
Math.log(x)
Параметри
- *
x
Число, більше або рівне 0. Це число, для якого ви хочете обрахувати натуральний логарифм (за основою e).
Return
logarithm
Повертає натуральний логарифм (за основою e) числа
x
. Якщоx
дорівнює ±0, метод повертає-Infinity
; якщоx
< 0, метод повертаєNaN
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
При використанні цього коду користувач може ввести число, натиснути кнопку "Обчислити логарифм" і побачити результат роботи методу Math.log()
для заданого числа.
E цьому прикладі ми створили функцію logBase10
, яка обчислює десятковий логарифм числа. Щоб розрахувати логарифм за основою 10, ми ділимо натуральний логарифм числа (отриманий за допомогою Math.log
) на натуральний логарифм 10. Таким чином, коли ми викликаємо функцію зі значенням 100, отримуємо результат 2, оскільки десятковий логарифм 100 дійсно дорівнює 2.
// Функція для розрахунку десяткового логарифма
function logBase10(value) {
return Math.log(value) / Math.log(10);
}
console.log(logBase10(100)); // Виведе 2, оскільки log10(100) = 2
У даному прикладі ми створили функцію yearsToReach
, що допомагає визначити, за який час початкова сума вкладу досягне бажаної суми при певній регулярній ставці зростання. Ми використовуємо логарифм для обрахунку, скільки років потрібно для подвоєння початкової суми за вказану ставку. За допомогою цієї функції можна прогнозувати, як буде зростати ваш вклад у майбутньому.
// Функція для розрахунку часу, потрібного для досягнення певного вкладу за регулярною ставкою зростання
function yearsToReach(principal, rate, targetAmount) {
return Math.log(targetAmount / principal) / Math.log(1 + rate);
}
let initialAmount = 1000; // Початковий вклад
let growthRate = 0.05; // 5% річно
let desiredAmount = 2000; // Жадана сума
console.log(yearsToReach(initialAmount, growthRate, desiredAmount)); // Виведе приблизний час, потрібний для досягнення жаданої суми