aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/math/log1p
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
commit218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch)
treea9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/uk/web/javascript/reference/global_objects/math/log1p
parent074785cea106179cb3305637055ab0a009ca74f2 (diff)
downloadtranslated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip
initial commit
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/math/log1p')
-rw-r--r--files/uk/web/javascript/reference/global_objects/math/log1p/index.html94
1 files changed, 94 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/math/log1p/index.html b/files/uk/web/javascript/reference/global_objects/math/log1p/index.html
new file mode 100644
index 0000000000..99edc4fbf5
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/math/log1p/index.html
@@ -0,0 +1,94 @@
+---
+title: Math.log1p()
+slug: Web/JavaScript/Reference/Global_Objects/Math/log1p
+tags:
+ - ECMAScript 2015
+ - JavaScript
+ - Math
+ - Довідка
+ - метод
+translation_of: Web/JavaScript/Reference/Global_Objects/Math/log1p
+---
+<div>{{JSRef}}</div>
+
+<p>Функція <strong><code>Math.log1p()</code></strong> повертає натуральний логарифм (за основою {{jsxref("Math.E", "e")}}) від результату виразу <strong><code>1 + дане число</code></strong>. Тобто</p>
+
+<p><math display="block"><semantics><mrow><mo>∀</mo><mi>x</mi><mo>&gt;</mo><mo>-</mo><mn>1</mn><mo>,</mo><mstyle mathvariant="monospace"><mrow><mo lspace="0em" rspace="thinmathspace">Math.log1p</mo><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></mstyle><mo>=</mo><mo lspace="0em" rspace="0em">ln</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="TeX">\forall x &gt; -1, \mathtt{\operatorname{Math.log1p}(x)} = \ln(1 + x)</annotation></semantics></math></p>
+
+<div>{{EmbedInteractiveExample("pages/js/math-log1p.html")}}</div>
+
+<p class="hidden">Джерело цих інтерактивних прикладів зберігається у репозиторії на GitHub. Якщо ви маєте бажання зробити свій внесок у проект інтерактивних прикладів - будь ласка, зклонуйте репозиторій <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> та пришліть нам pull request.</p>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox"><code>Math.log1p(<var>x</var>)</code></pre>
+
+<h3 id="Аргументи">Аргументи</h3>
+
+<dl>
+ <dt><code>x</code></dt>
+ <dd>Число.</dd>
+</dl>
+
+<h3 id="Результат">Результат</h3>
+
+<p>Натуральний логарифм (за основою {{jsxref("Math.E", "e")}}) від <code>1+x</code>. Якщо значення аргументу менше за <strong>-1</strong>, функція повертає {{jsxref("NaN")}}.</p>
+
+<h2 id="Опис">Опис</h2>
+
+<p>Для дуже малих значень <em>x</em>, додавання 1 може повністю або частково зменшити точність .  Числа із рухомою комою подвійної точності, що застосовуються у JS, дають вам приблизно 15 знаків точності.  1 + 1e-15 = 1.000000000000001, але 1 + 1e-16 = 1.000000000000000, тобто 1.0. Просто тому, що 15 останніх знаків при такому округленні зникають.  </p>
+
+<p>Коли ви обчислюєте log(1 + x), ви отримаєте результат, дуже близький до x у випадках, коли x являється малою величиною (саме тому це називається 'натуральним' логарифмом). Якщо ви обчислите Math.log(1 + 1.1111111111e-15) - ви, ймовірно, отримаєте щось близьке до 1.1111111111e-15.  Якщо ж, натомість, ви візьмете логарифм від<span style="line-height: 1.5;"> </span><span style="line-height: 1.5;">1.00000000000000111022 (так, двійкове округлення інколи виглядає не надто гарно)</span><span style="line-height: 1.5;">, ви отримаєте в якості відповіді</span><span style="line-height: 1.5;"> 1.11022...e-15, із лише трьома значущими цифрами. Зате за допомогою Math.log1p(</span>1.1111111111e-15<span style="line-height: 1.5;">) ви отримаєте значно точніший результат - 1.1111111110999995e-15 - із 15 значущими цифрами (власне навіть 16 для цього випадку).</span></p>
+
+<p>Якщо значення <code>x</code> менше, ніж -1, результатом зажди буде {{jsxref("NaN")}}.</p>
+
+<p>У зв'язку з тим, що <code>log1p()</code> - це статичний метод <code>Math</code>, слід завжди викликати його як <code>Math.log1p()</code>, аніж як метод створеного вами об'єкту <code>Math</code> (оскільки <code>Math</code> не являється конструктором).</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Застосування_Math.log1p">Застосування <code>Math.log1p()</code></h3>
+
+<pre class="brush: js">Math.log1p(1); // 0.6931471805599453
+Math.log1p(0); // 0
+Math.log1p(-1); // -Infinity
+Math.log1p(-2); // NaN
+</pre>
+
+<h2 id="Поліфіл">Поліфіл</h2>
+
+<p>Метод може бути відтворений за допомогою наступної функції:</p>
+
+<pre class="brush: js">Math.log1p = Math.log1p || function(x) {
+ return Math.log(1 + x);
+};
+</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-math.log1p', 'Math.log1p')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Підтримка_у_браузерах">Підтримка у браузерах</h2>
+
+<p class="hidden">Таблиця сумісності на цій сторінці сформована автоматично із структурованих даних. Якщо ви маєте бажання зробити свій внесок до цих даних - будь-ласка, ось репозиторій <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>, надішліть нам свій pull request.</p>
+
+<p>{{Compat("javascript.builtins.Math.log1p")}}</p>
+
+<h2 id="Дивіться_також">Дивіться також</h2>
+
+<ul>
+ <li>{{jsxref("Math.exp()")}}</li>
+ <li>{{jsxref("Math.log()")}}</li>
+ <li>{{jsxref("Math.expm1()")}}</li>
+ <li>{{jsxref("Math.log10()")}}</li>
+ <li>{{jsxref("Math.log2()")}}</li>
+ <li>{{jsxref("Math.pow()")}}</li>
+</ul>