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. Таким чином, він враховує від'ємний зсув, що робить його корисним у специфічних обчислювальних ситуаціях.

автор: Bond

Порада

Для початківців може здаватися, що ці два методи роблять одне й те ж, але насправді вони відмінні. Math.expm1(x) робить те ж саме, що і Math.exp(x) - 1. Використовуйте Math.expm1(), коли потрібно отримати результат експоненції числа з відніманням одиниці.

автор: Bond
Порада

Якщо у вашому проекті часто проводяться обчислення, які вимагають віднімання одиниці від експоненціального результату, розгляньте можливість використання Math.expm1() для збільшення продуктивності та точності.

автор: Bond
Порада

Хоча Math.expm1() є стандартною частиною JavaScript, не всі старі браузери можуть його підтримувати. Перед впровадженням методу в продакшн, переконайтеся, що він підтримується у ваших цільових браузерах.

автор: Bond
Порада

Для дуже малих значень x, Math.expm1() може надати більш точний результат, ніж використання Math.exp(x) - 1. Це особливо корисно при обчисленні дробових експоненцій. Приклад:

let smallValue = 0.000001;
console.log(Math.exp(smallValue) - 1);  // може бути менш точним
console.log(Math.expm1(smallValue));    // більш точний результат
автор: Bond

Синтаксис

Math.expm1(x)

Параметри

x

Це число, для якого потрібно обчислити значення e^x - 1, де e є основою натурального логарифму. Цей параметр визначає степінь, до якої буде піднесено число e.

автор: Bond

Повернення

number

Повертає число, яке представляє значення e^x - 1, де e є основою натурального логарифму.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
38 25 8 25 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
38 38 25 8
Підтримка: серверні переглядачі
Переглядач Node.js Deno
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}`);
автор: Bond

Цей приклад дозволяє користувачеві ввести значення, для якого вони хочуть обчислити результат Math.expm1(), і побачити вивід цього результату на сторінці після натискання кнопки "Обчислити".

автор: Bond

У цьому прикладі ми розглядаємо популяцію бактерій, яка зростає експоненціально щогодини. Ми використовуємо метод Math.expm1() для визначення, наскільки бактерій збільшиться популяція після години, враховуючи заданий темп зростання (growthRate). Результат додаємо до початкової кількості бактерій.

// Початкова кількість бактерій
let initialPopulation = 1000;

// Щогодинний темп зростання популяції бактерій у відсотках
let growthRate = 0.05;

// Обчислення кількості бактерій після години
let growth = Math.expm1(growthRate) * initialPopulation;
let populationAfterOneHour = initialPopulation + growth;

console.log(`Популяція бактерій після години: ${populationAfterOneHour}`);
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід