Vai al contenuto
🛠️ToolsShed

Euler's Number Calculator

Esplora il numero di Euler e con approssimazione della serie di Taylor, composizione continua e distribuzione normale.

Numero di Euler (e)

e = 2.718281828459045

Informazioni sullo strumento

Il numero di Eulero (e ≈ 2,71828) è una delle costanti matematiche più importanti in analisi, statistica, finanza e fisica. Rappresenta la base dei logaritmi naturali e descrive la crescita e il decadimento continui. Questo calcolatore ti aiuta a esplorare il comportamento di e attraverso approssimazioni per serie di Taylor, che mostrano come i matematici calcolano questa costante infinita con la precisione desiderata.

Regola il numero di termini della serie di Taylor per osservare come l'approssimazione converge verso il valore vero di e. Il simulatore di capitalizzazione continua mostra come il numero di Eulero emerge quando l'interesse si capitalizza infinite volte—un concetto fondamentale della matematica finanziaria. Il visualizzatore della distribuzione normale visualizza la famosa curva a campana, che dipende da e nella sua formula matematica ed è essenziale per la statistica e la scienza dei dati.

Questo strumento è ideale per gli studenti che imparano il calcolo e la statistica, gli sviluppatori che lavorano con librerie matematiche e chiunque sia curioso di come le costanti fondamentali modellano i fenomeni del mondo reale. Ogni visualizzazione si aggiorna istantaneamente, permettendoti di sperimentare con parametri diversi e sviluppare intuizione per la crescita esponenziale, le distribuzioni di probabilità e la matematica profonda che sottende i calcoli finanziari e scientifici quotidiani.

Domande Frequenti

Implementazione del Codice

import math
from decimal import Decimal, getcontext

# 1. Taylor series approximation of e
def euler_taylor(n_terms: int) -> float:
    """Approximate e using n terms of Taylor series: sum(1/k!) for k=0..n"""
    total = 0.0
    factorial = 1
    for k in range(n_terms):
        if k > 0:
            factorial *= k
        total += 1 / factorial
    return total

# 2. High-precision e using Python's decimal module
def euler_high_precision(decimal_places: int) -> Decimal:
    getcontext().prec = decimal_places + 10  # extra guard digits
    e = Decimal(0)
    factorial = Decimal(1)
    for k in range(200):  # 200 terms is enough for 100+ decimal places
        if k > 0:
            factorial *= k
        term = Decimal(1) / factorial
        e += term
        if term < Decimal(10) ** -(decimal_places + 5):
            break
    return +e  # re-apply precision

# 3. Common formulas involving e
def compound_continuous(principal: float, rate: float, years: float) -> float:
    """A = P × e^(r×t) — continuous compounding formula"""
    return principal * math.exp(rate * years)

def normal_pdf(x: float, mu: float = 0, sigma: float = 1) -> float:
    """Normal distribution PDF: f(x) = (1/σ√2π) × e^(-(x-µ)²/2σ²)"""
    return (1 / (sigma * math.sqrt(2 * math.pi))) * math.exp(-((x - mu)**2) / (2 * sigma**2))

# Examples
print(f"e (Python math):     {math.e}")
print(f"e (5 terms):         {euler_taylor(5):.8f}")
print(f"e (20 terms):        {euler_taylor(20):.15f}")

# Euler's identity: e^(iπ) + 1 = 0
e_to_ipi = math.exp(complex(0, math.pi))
print(f"\ne^(iπ) = {e_to_ipi.real:.10f} + {e_to_ipi.imag:.0f}i")
print(f"e^(iπ) + 1 = {e_to_ipi.real + 1:.2e}  (≈ 0, Euler's identity)")

# Continuous compounding
amount = compound_continuous(1000, 0.05, 10)
print(f"\n$1000 at 5% for 10 years (continuous): ${amount:.2f}")

# Normal distribution at x=0
print(f"Normal PDF at x=0: {normal_pdf(0):.6f}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.