JS метод Math.expm1()
Загальний опис
Math.expm1() є частиною математичного об'єкта в JavaScript. Цей метод дозволяє обчислити значення e^x (де e є основою натурального логарифму) та відняти 1. Умовно кажучи, він виконує операцію e^x - 1.
Застосування методу Math.expm1() може здаватися неінтуїтивним на перший погляд, але насправді, ця функція має важливе застосування в обчисленнях, де потрібна висока точність для дуже малих значень x. Це тому, що для дуже малих x, e^x буде дуже близько до 1, і виконання обчислення e^x - 1 може призвести до втрати точності через обмеження відносно точності чисел з рухомою комою.
Якщо вас коли-небудь цікавило, як обчислити зростання (або спад) величини в експоненціальних умовах, Math.expm1() може бути вашим вибором. Це особливо корисно для обчислень, що пов'язані з фінансами, статистикою, інженерними задачами та іншими галузями, де експоненціальний ріст або спад є ключовою темою.
Однією з найбільших переваг Math.expm1() є його точність при обчисленні з дуже малими значеннями. Це робить його ідеальним для ситуацій, де різниця між результатами може бути мізерною, але критичною для обчислень.
Розглянемо наступний код:
let growthRate = 0.0001;
let growth = Math.expm1(growthRate);
console.log(growth);
В цьому коді ми розглядаємо невеликий темп зростання (0.0001). За допомогою Math.expm1(), ми можемо визначити, наскільки великим буде цей зріст в експоненціальних умовах.
На відміну від Math.exp(), який просто повертає e^x, Math.expm1() обчислює e^x - 1. Таким чином, він враховує від'ємний зсув, що робить його корисним у специфічних обчислювальних ситуаціях.
- Порада
-
Для початківців може здаватися, що ці два методи роблять одне й те ж, але насправді вони відмінні.
автор: BondMath.expm1(x)робить те ж саме, що іMath.exp(x) - 1. ВикористовуйтеMath.expm1(), коли потрібно отримати результат експоненції числа з відніманням одиниці. - Порада
-
Якщо у вашому проекті часто проводяться обчислення, які вимагають віднімання одиниці від експоненціального результату, розгляньте можливість використання
автор: BondMath.expm1()для збільшення продуктивності та точності. - Порада
-
Хоча
автор: BondMath.expm1()є стандартною частиною JavaScript, не всі старі браузери можуть його підтримувати. Перед впровадженням методу в продакшн, переконайтеся, що він підтримується у ваших цільових браузерах. - Порада
-
Для дуже малих значень
x,Math.expm1()може надати більш точний результат, ніж використанняMath.exp(x) - 1. Це особливо корисно при обчисленні дробових експоненцій. Приклад:
автор: Bondlet smallValue = 0.000001; console.log(Math.exp(smallValue) - 1); // може бути менш точним console.log(Math.expm1(smallValue)); // більш точний результат
Синтаксис
Math.expm1(x)
Параметри
x-
Це число, для якого потрібно обчислити значення
автор: Bonde^x - 1, деeє основою натурального логарифму. Цей параметр визначає степінь, до якої буде піднесено числоe.
Повернення
number-
Повертає число, яке представляє значення
автор: Bonde^x - 1, деeє основою натурального логарифму.
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 38 | 25 | 8 | 25 | 12 |
| Переглядач | ||||
|---|---|---|---|---|
| 38 | 38 | 25 | 8 |
| Переглядач | ||
|---|---|---|
| 0.12.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
У цьому прикладі ми обчислюємо прибуток від інвестицій, які мають експоненціальний темп зростання. Початкова сума інвестицій (initialInvestment) збільшується на величину, яку обчислюємо за допомогою методу Math.expm1() та темпу зростання (annualGrowthRate). Таким чином, ми отримуємо загальну суму інвестицій після року.
// Початкова сума інвестицій
let initialInvestment = 10000;
// Щорічний темп зростання інвестицій у відсотках
let annualGrowthRate = 0.07;
// Обчислення прибутку від інвестицій після року
let profit = Math.expm1(annualGrowthRate) * initialInvestment;
let totalAfterOneYear = initialInvestment + profit;
console.log(`Сума інвестицій після року: ${totalAfterOneYear}`);
Цей приклад дозволяє користувачеві ввести значення, для якого вони хочуть обчислити результат Math.expm1(), і побачити вивід цього результату на сторінці після натискання кнопки "Обчислити".
У цьому прикладі ми розглядаємо популяцію бактерій, яка зростає експоненціально щогодини. Ми використовуємо метод Math.expm1() для визначення, наскільки бактерій збільшиться популяція після години, враховуючи заданий темп зростання (growthRate). Результат додаємо до початкової кількості бактерій.
// Початкова кількість бактерій
let initialPopulation = 1000;
// Щогодинний темп зростання популяції бактерій у відсотках
let growthRate = 0.05;
// Обчислення кількості бактерій після години
let growth = Math.expm1(growthRate) * initialPopulation;
let populationAfterOneHour = initialPopulation + growth;
console.log(`Популяція бактерій після години: ${populationAfterOneHour}`);
Коментарі
Коментарів ще немає — будьте першим!