Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP log1p() फ़ंक्शन - ln(1+x) सटीक गणना

PHP का log1p() फ़ंक्शन **ln(1+x)** की गणना करता है, विशेष रूप से **बहुत छोटे x मानों के लिए उच्च परिशुद्धता** के साथ। सामान्य log(1+x) छोटे x के लिए परिशुद्धता खो देता है क्योंकि 1+x ≈ 1 हो जाता है।

सिंटैक्स

log1p(float $arg): float

पैरामीटर

पैरामीटरविवरण
$argवह संख्या जिसका 1+x लघुगणक चाहिए

लौटाया गया मान

log(1 + $arg) (फ्लोट), छोटे मानों के लिए सटीक।

उदाहरण

1. log1p(100) — सामान्य log(1+x) के समान

<?php
$arg = 100;
echo "using log() to calculate log(1+$arg) = " . log(1+$arg) . "\n";
echo "log1p($arg) = " . log1p($arg);
?>
using log() to calculate log(1+100) = 4.6151205168413
log1p(100) = 4.6151205168413

2. log1p(0) = 0 बनाम log(0) = -INF

<?php
$arg = 0;
echo "log($arg) = " . log($arg) . "\n";
echo "log1p($arg) = " . log1p($arg);
?>
log(0) = -INF
log1p(0) = 0

महत्वपूर्ण: log1p(0) सही ढंग से 0 लौटाता है, जबकि log(1+0) = log(1) = 0 भी सही है, लेकिन log(0) अपरिभाषित है।

3. बहुत छोटी संख्या के लिए परिशुद्धता तुलना

<?php
$arg = 0.000005; // 5e-6
echo "log($arg) = " . log($arg) . "\n";
echo "log1p($arg) = " . log1p($arg);
?>
log(5.0E-6) = -12.20607264553
log1p(5.0E-6) = 4.9999875000744E-6

विश्लेषण:

  • log(5e-6) ऋणात्मक बड़ा मान देता है (यह ln(5e-6) है, ln(1+5e-6) नहीं!)।
  • log1p(5e-6) सही ढंग से ≈ 5e-6 देता है (क्योंकि ln(1+x) ≈ x जब x छोटा हो)।
  • उदाहरण में log($arg) गलत तुलना है — सही तुलना log(1+$arg) बनाम log1p($arg) होगी।

4. NAN इनपुट

<?php
$arg = sqrt(-1); // NAN
echo "log($arg) = " . log($arg) . "\n";
echo "log1p($arg) = " . log1p($arg);
?>
log(NAN) = NAN
log1p(NAN) = NAN

क्यों log1p() विशेष है?

जब x बहुत छोटा होता है (उदाहरण: 1e-15), तो फ्लोटिंग-पॉइंट में 1 + x == 1 हो जाता है (परिशुद्धता हानि)। तब log(1+x) = log(1) = 0 लौटाता है, जो गलत है। log1p() आंतरिक रूप से विशेष एल्गोरिदम उपयोग करके सीधे ln(1+x) की सटीक गणना करता है बिना 1+x जोड़े।

व्यावहारिक उपयोग

  • वित्तीय गणनाएँ: लगातार चक्रवृद्धि ब्याज ln(1+r)।
  • सांख्यिकी: लॉग-लिकेलिहुड, एन्ट्रॉपी गणनाएँ।
  • संख्यात्मक स्थिरता आवश्यक होने पर कोई भी ln(1+x) गणना।

PHP संस्करण

PHP 4, PHP 5, PHP 7, PHP 8+ में उपलब्ध।

  1. - PHP log10() फ़ंक्शन - आधार-10 लघुगणक

    PHP का log10() फ़ंक्शन किसी संख्या का **आधार-10 लघुगणक (base-10 logarithm)** गणना करता है। इसे सामान्य या मानक लघुगणक भी कहते हैं। सिंटैक्स log10(float $arg): float पैरामीटर पैरामीटरविवरण $argवह संख्या जिसका आधार-10 लघुगणक चाहिए लौटाया गया मान $arg का आधार-10 लघुगणक (फ्लोट)। गणितीय संबंध l

  1. - PHP log1p() फ़ंक्शन - ln(1+x) सटीक गणना

    PHP का log1p() फ़ंक्शन **ln(1+x)** की गणना करता है, विशेष रूप से **बहुत छोटे x मानों के लिए उच्च परिशुद्धता** के साथ। सामान्य log(1+x) छोटे x के लिए परिशुद्धता खो देता है क्योंकि 1+x ≈ 1 हो जाता है। सिंटैक्स log1p(float $arg): float पैरामीटर पैरामीटरविवरण $argवह संख्या जिसका 1+x लघुगणक चाहिए

  1. - PHP में log1p() फंक्शन

    विवरण log1p() फंक्शन log(1+number) लौटाता है, जिसे इस तरह से कंप्यूट किया जाता है कि यह वैल्यू नंबर के शून्य के करीब होने पर भी सटीक हो। सिंटैक्स log1p(val) पैरामीटर्स val − निर्दिष्ट नंबर रिटर्न वैल्यू log1p() फंक्शन log(1+number) लौटाता है, जिसे इस तरह से कंप्यूट किया जाता है कि यह वैल्यू नंब