E (constante matemática)

Predefinição:E (constante matemática) O número Predefinição:Mvar é uma constante matemática que é a base dos logaritmos naturais. Por vezes é chamado número de Euler (ou constante de Euler) em homenagem ao matemático suíço Leonhard Euler, número de Napier, em homenagem a John Napier, número de Neper[1], constante de Néper, número neperiano, constante matemática, número exponencial e outros. A primeira referência à constante foi publicada em 1618 na tabela de um apêndice de um trabalho sobre logaritmos de John Napier. No entanto, este não contém a constante propriamente dita, mas apenas uma simples lista de logaritmos naturais calculados a partir desta. A primeira indicação da constante foi descoberta por Jakob Bernoulli, quando tentava encontrar um valor para a seguinte expressão (muito comum no cálculo de juros compostos):
para , ou seja:
ou ainda, substituindo-se n por
Cujo valor é aproximadamente 2,718281828459045235360287.
Caracterizações menos triviais de
Alternativamente à representação mais conhecida, temos também:
O número pode ser representado e calculado por meio da utilização da série de Taylor para quando x=1, como a soma da seguinte série infinita:
Aqui n! representa o fatorial de n.
A função (função exponencial de base ) pode ser representada da seguinte forma:
- ,
assim, por exemplo, tem-se :
- ou ainda
Outra maneira de se encontrar o valor de é pelo desenvolvimento da fração contínua, escrito sob a forma interessante:
Ou, de forma mais simplificada Predefinição:OEIS:
que pode ser escrita mais harmoniosamente com a utilização do zero:
Muitas outras séries, seqüências, frações contínuas e produtos infinitos que representam já foram desenvolvidas.
O Número no Cálculo
A função exponencial tem a intrigante propriedade de ser sua própria derivada, i.e.:
Isto significa que tem a notável propriedade de que a taxa de variação de no ponto x = t vale . Daí sua importância no cálculo diferencial e integral, e seu papel único como base do logaritmo natural. Além desta, pela regra da multiplicação por constante, as funções , também são suas próprias derivadas.
Trabalhando com integrais, pode-se ainda definir como sendo o único número maior que zero tal que:
Mais Sobre
O número é um número irracional e transcendente (como pi). A irracionalidade de foi demonstrada por Lambert em 1761 e mais tarde por Euler. A prova da transcendência de foi estabelecida por Hermite em 1873.
Conjecturou-se que é um número normal ou aleatório.
Ele aparece (com outras constantes fundamentais) na identidade de Euler, considerada a expressão mais "bela" da matemática:
Obtém-se tal relação por meio da fórmula:
que, por sua vez, advém da série de Taylor para .
Leonhard Euler começou a usar a letra para representar a constante em 1727, e o primeiro uso de foi na publicação Euler’s Mechanica (1736). As verdadeiras razões para escolha da letra são desconhecidas, mas especula-se que seja porque é a primeira letra da palavra exponencial.
Outra aparição do número de Euler é na probabilidade: caso se escolham números entre e 1 até que o seu total ultrapasse 1, o número mais provável de seleções será igual a .
como séries infinitas
Dentre as várias séries infinitas que resultam em , têm-se, além da trivial:
como limites e produtos infinitos
Os produtos infinitos
e
Em que o n-ésimo fator corresponde à raiz do produto
resultam no número de Euler, assim como os seguintes limites:
com os primeiros 510 dígitos decimais
Exemplos de código para o cálculo de
Na Linguagem C:
/*Código em C para calcular número de Euler, com n tendendo à 10^6.
Utiliza-se a expressão de Jakob Bernoulli neste caso.*/
#include <stdio.h>
int main() {
int contador = 1, exp = 1;
double y, aux = 1, n = 1;
do {
y = (1 + (1 / n));
while (exp <= contador) {
aux = y * aux;
exp++;
}
exp = 1;
printf("\n %.100lf \n\n\n ", aux);
contador++;
aux = 1;
n++;
} while (contador <= 1000000);
return 0;
}
Na Linguagem C++:
/* Código em C++ para calcular a precisão do número de Euler, onde n é a precisão
a qual o número de Euler será calculado. */
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
int fatorial;
float somatorio = 0;
for (int i = 0; i < n; ++i){
if (i == 0)
fatorial = 1;
else{
fatorial = i;
for (int cont = i - 1; cont > 0 ; --cont){
fatorial *= cont;
}
}
somatorio += (1/double(fatorial));
}
cout << double(somatorio) << endl;
system("pause");
return 0;
}
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
//Fatorial, n!
float fatorial(int valor){
float fator = 1.0;
while (valor > 0) {
fator *= valor;
valor--;
}
return fator;
}
//Somatório da equação 1/n!, onde n assume valores crescentes
//(Decrescentes para o caso dessa função)
long double eqn_Euler(int n_val){
long double somatorio = 0;
while (n_val >= 0) {
somatorio += (1.0 / fatorial(n_val));
n_val--;
}
return somatorio;
}
int main(){
cout << setprecision(16), fixed;
cout << eqn_Euler(100) << endl;
system("pause");
return 0;
}
Na Linguagem Python:
''' Código em Python para calcular o número de Euler, através de um somatório
de séries infinidas de zero à n, onde n é o último valor inteiro da série. '''
n = int(input()) #pedindo o valor para a variável n
somatorio = 0 #iniciando a variável somatório como igual a zero
for i in range(n+1):
#o algoritmo irá calcular o valor de euler com aprecisão definida por n
if (i == 0):
fatorial = 1
#caso i for igual a zero a variável fatorial será
#igualada a 1 pois 0!=1
else:
for ii in range(1, i+1):
fatorial *= float(ii)
#cálcudo do fatorial para valores diferentes de zero
#note que a função range() começa em 1, o padrão é zero
somatorio += (1/fatorial)
#faz-se 1 dividido pelo fatorial do valor e soma-se esse à
#variável somatorio, aqui é onde o número de euler tomará forma
fatorial = 1
#reinicia-se o valor da variável fatorial
print(somatorio)
#mostra o valor alcançado através do algoritmo
'''
número euler calculado limite de (1+1/n)^n com n se aproximando ao
infinito calculando os 200 primeiros dígitos, através da
biblioteca decimal
'''
from decimal import Decimal, getcontext
def euler(precisao):
prec_n = precisao
n_val = 4
while prec_n > 1:
prec_n /= 8
n_val += 1
#determinando o expoente máximo para a função (1+1/n)^n
getcontext().prec = precisao+n_val
#determinando a precisão a algumas casas decimais a mais
#objetivando o arredondamento, se for o caso
x = Decimal(1)/Decimal(1 << n_val)
#x = 1/n, com o maior n cabível para a precisão requerida
#-> Decimal(1 << n_val) = 2^(n_val)
#-> x = 1 / [2^(n_val)]
eps = Decimal(1)/Decimal(1 << int(1 + (10*precisao)/3 ))
#determinando o épsilon da máquina/ponto flutuante
#-> eps = 1 / [2^int(1 + (10*precisao)/3)]
termo = x
#termo = 1/n
som_exp = Decimal(1) + x
#som_exp = 1 + 1/n
m = 2
while termo > eps:
termo *= x / Decimal(m)
#termo = 1/n*[(1/n)/m], onde m crescerá
m += 1
som_exp += termo
#1/n*[(1/n)/m] + 1/n, na primeira vez,
#1/n*[(1/n)/m] contunuará sendo acrescido
#essa operação irá se repetir enquanto a variável termo
#não alcançar a precisão estabelecida por eps
for k in range(n_val):
som_exp *= som_exp
#(som_exp)^n = (1+1/n)^n
getcontext().prec = precisao
#redeterminando a precisão para o valor inicialmente estipulado
som_exp += Decimal(0)
#aplicando a precisão estipulada
return som_exp
print(euler(200))
Ver também
Ligações externas
- Representação decimal de e Mathemathika
Predefinição:Números Adimensionais MecFlu
Predefinição:Teoria dos números
Predefinição:Classes de números naturais