Use o número de Euler em Python

Rayven Esplanada 10 outubro 2023
  1. Use math.e para obter o número de Euler em Python
  2. Use math.exp() para obter o número de Euler em Python
  3. Use numpy.exp() para obter o número de Euler em Python
Use o número de Euler em Python

O número de Euler ou e é uma das constantes mais fundamentais na matemática, bem como pi. e é a base das funções logarítmicas naturais. É um número irracional que representa a constante exponencial.

Este tutorial demonstrará como replicar o número de Euler (e) em Python.

Existem três maneiras comuns de obter o número de euler e usá-lo para uma equação em Python.

  • Usando math.e
  • Usando math.exp()
  • Usando numpy.exp()

Use math.e para obter o número de Euler em Python

O módulo Python math contém várias constantes matemáticas que podem ser usadas para equações. O número de Euler ou e é uma daquelas constantes que o módulo math possui.

from math import e

print(e)

Resultado:

2.718281828459045

A saída acima é o valor base da constante e.

Como um exemplo de equação, vamos criar uma função obter o valor de e^n ou e à potência de um número n onde n = 3.

Além disso, observe que a sintaxe para a operação de energia em Python é os asteriscos duplos **.

from math import e


def getExp(n):
    return e ** n


print(getExp(3))

Resultado:

20.085536923187664

Se você preferir ter controle sobre o número de casas decimais do resultado, uma forma de conseguir isso é formatar o valor como uma string e imprimi-lo após formatá-lo.

Para formatar um valor flutuante para n casas decimais, podemos usar a função format() em uma string com esta sintaxe {:.nf} onde n é o número de casas decimais a serem exibidas.

Por exemplo, usando o mesmo exemplo acima, formate a saída com 5 casas decimais.

def getExp(n):
    return "{:.5f}".format(e ** n)


print(getExp(3))

Resultado:

20.08554

Use math.exp() para obter o número de Euler em Python

O módulo math também possui uma função chamada exp() que retorna o valor de e à potência do número. Comparado com math.e, a função exp() executa consideravelmente mais rápido e inclui código que valida o parâmetro de número fornecido.

Para este exemplo, tente usar um número decimal como parâmetro.

import math

print(math.exp(7.13))

Resultado:

1248.8769669132553

Outro exemplo seria obter o valor base real de e definindo o parâmetro como 1 para determinar o valor.

import math

print(math.exp(1))

Resultado:

2.718281828459045

A saída é o valor real de e definido para 15 casas decimais.

Use numpy.exp() para obter o número de Euler em Python

A função exp() dentro do módulo NumPy também faz a mesma operação e aceita o mesmo parâmetro de math.exp().

A diferença é que ele tem um desempenho mais rápido do que math.e e math.exp() e enquanto math.exp() aceita apenas números escalares, numpy.exp() aceita números escalares, bem como vetores como matrizes e coleções.

Por exemplo, use a função numpy.exp() para aceitar um array de números de ponto flutuante e um único valor inteiro.

import numpy as np

arr = [3.0, 5.9, 6.52, 7.13]
singleVal = 2

print(np.exp(arr))
print(np.exp(singleVal))

Resultado:

[20.08553692  365.03746787  678.57838534 1248.87696691]
7.38905609893065

Se um array de números for usada como parâmetro, ele retornará um array de resultados da constante e elevada à potência de todos os valores dentro de uma determinada matriz. Se um único número for fornecido como parâmetro, ele se comportará exatamente como math.exp().

Em resumo, para obter o número de Euler ou e em Python, use math.e. Usar math.exp() precisará de um número como parâmetro para servir como valor do expoente e e como valor base.

Usando exp() no cálculo do expoente de e sobre asteriscos duplos, ** tem um desempenho melhor do que o último, portanto, se você estiver lidando com números enormes, é melhor usar math.exp().

Outra opção é usar numpy.exp(), que suporta um array de números como parâmetro e executa mais rápido do que ambas as soluções do módulo math. Portanto, se os vetores estiverem envolvidos na equação, use numpy.exp() em vez disso.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Artigo relacionado - Python Math