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
. Таким чином, він враховує від'ємний зсув, що робить його корисним у специфічних обчислювальних ситуаціях.
Порада: | Для початківців може здаватися, що ці два методи роблять одне й те ж, але насправді вони відмінні. |
Порада: | Для дуже малих значень
|
Порада: | Якщо у вашому проекті часто проводяться обчислення, які вимагають віднімання одиниці від експоненціального результату, розгляньте можливість використання |
Порада: | Хоча |
Синтаксис
Math.expm1(x)
Параметри
- *
x
Це число, для якого потрібно обчислити значення
e^x - 1
, деe
є основою натурального логарифму. Цей параметр визначає степінь, до якої буде піднесено числоe
.
Return
number
Повертає число, яке представляє значення
e^x - 1
, деe
є основою натурального логарифму.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
38 |
25 |
8 |
25 |
12 |
Переглядач | ||||
---|---|---|---|---|
38 |
38 |
25 |
8 |
Переглядач | ||
---|---|---|
0.12.0 |
1.0 |
Приклади
Цей приклад дозволяє користувачеві ввести значення, для якого вони хочуть обчислити результат 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}`);
У цьому прикладі ми обчислюємо прибуток від інвестицій, які мають експоненціальний темп зростання. Початкова сума інвестицій (initialInvestment
) збільшується на величину, яку обчислюємо за допомогою методу Math.expm1()
та темпу зростання (annualGrowthRate
). Таким чином, ми отримуємо загальну суму інвестицій після року.
// Початкова сума інвестицій
let initialInvestment = 10000;
// Щорічний темп зростання інвестицій у відсотках
let annualGrowthRate = 0.07;
// Обчислення прибутку від інвестицій після року
let profit = Math.expm1(annualGrowthRate) * initialInvestment;
let totalAfterOneYear = initialInvestment + profit;
console.log(`Сума інвестицій після року: ${totalAfterOneYear}`);