Calcular funcions exponencials i logarítmiques a Python (exp, log, log10, log2)

Negocis

Utilitzant matemàtiques, el mòdul estàndard de Python per a funcions matemàtiques, podeu calcular funcions exponencials i logarítmiques (logaritme natural, logaritme ordinari i logaritme binari).

Aquí s’explica el següent, juntament amb el codi d’exemple.

  • Base del logaritme natural (número de Napier):math.e
  • Potència::**operador,pow(),math.pow()
  • Arrel quadrada (arrel):math.sqrt()
  • Funció exponencial (funció exponencial natural):math.exp()
  • una funció logarítmica:math.log(),math.log10(),math.log2()

Base del logaritme natural (número de Napier):math.e

La base del logaritme natural (número de Napier) es proporciona com a constant al mòdul de matemàtiques, denotada per math.e.

import math

print(math.e)
# 2.718281828459045

Potència: ** operador, pow(), math.pow():**operador,pow(),math.pow()

Per calcular potències, utilitzeu l’operador **, la funció integrada pow() o math.pow().

El quadrat y de x s’obté de la següent manera

  • x**y
  • pow(x, y)
  • math.pow(x, y)
print(2**4)
# 16

print(pow(2, 4))
# 16

print(math.pow(2, 4))
# 16.0

math.pow() converteix l’argument en un tipus de coma flotant. D’altra banda, la funció integrada de Python pow() utilitza __pow()__ definit per a cada tipus.

Per exemple, pow() permet especificar tipus complexos com a arguments, però math.pow() no pot convertir tipus complexos en tipus flotant, donant lloc a un error.

print(pow(1 + 1j, 2))
# 2j

# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float

La funció integrada de Python pow() també permet un tercer argument, pow(x, y, z), que retorna la resta (resta) de z a la potència y de x. És el mateix càlcul que pow(x, y) % z, però pow(x, y, z) és més eficient.

print(pow(2, 4, 5))
# 1

Arrel quadrada (arrel):math.sqrt()

L’arrel quadrada (arrel) es pot establir en **0,5 mitjançant ** o math.sqrt().

print(2**0.5)
# 1.4142135623730951

print(math.sqrt(2))
# 1.4142135623730951

print(2**0.5 == math.sqrt(2))
# True

Igual que math.pow(), math.sqrt() converteix els arguments en tipus de coma flotant per processar-los, de manera que especificar un tipus que no es pot convertir en un tipus flotant donarà lloc a un TypeError.

print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)

# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float

A més, math.sqrt() no pot processar valors negatius, donant lloc a un ValueError.

print((-1)**0.5)
# (6.123233995736766e-17+1j)

# print(math.sqrt(-1))
# ValueError: math domain error

Tingueu en compte que quan es tracta de nombres complexos, l’exemple amb l’operador ** mostra un error, però el mòdul cmath proporciona un valor més precís. També es poden gestionar valors negatius.

import cmath

print(cmath.sqrt(-3 + 4j))
# (1+2j)

print(cmath.sqrt(-1))
# 1j

Funció exponencial (funció exponencial natural):math.exp()

Per calcular la potència de la base del logaritme natural (número de Napier) e, utilitzeu math.exp().

math.exp(x) retorna x al quadrat de e.
math.exp(x) no és equivalent a “math.e ** x” i math.exp(x) és més precís.

print(math.exp(2))
# 7.38905609893065

print(math.exp(2) == math.e**2)
# False

una funció logarítmica:math.log(),math.log10(),math.log2()

Per calcular la funció logarítmica, utilitzeu math.log(),math.log10(),math.log2().

math.log(x, y) retorna el logaritme de x amb y com a base.

print(math.log(25, 5))
# 2.0

Si s’omet el segon argument, a continuació es mostra el logaritme natural.

logaritme

En matemàtiques, el logaritme natural (logaritme amb el número de Napier e com a base), representat per log o ln, es pot calcular mitjançant math.log(x).

print(math.log(math.e))
# 1.0

logaritme (base 10)

El logaritme ordinari (logaritme amb base 10) es pot calcular amb math.log10(x), que és més precís que math.log(x, 10).

print(math.log10(100000))
# 5.0

logaritme binari

El logaritme binari (logaritme amb base 2) es pot calcular amb math.log2(x), que és més precís que math.log(x, 2).

print(math.log2(1024))
# 10.0
Copied title and URL