Tính toán các hàm số mũ và logarit bằng Python (exp, log, log10, log2)

Kinh doanh

Sử dụng toán học, mô-đun tiêu chuẩn của Python cho các hàm toán học, bạn có thể tính toán các hàm số mũ và logarit (logarit tự nhiên, logarit thông thường và logarit nhị phân).

Phần sau được giải thích ở đây, cùng với mã mẫu.

  • Cơ số của lôgarit tự nhiên (số Napier):math.e
  • Quyền lực::**nhà điều hành,pow(),math.pow()
  • Căn bậc hai (root):math.sqrt()
  • Hàm số mũ (hàm số mũ tự nhiên):math.exp()
  • một hàm logarit:math.log(),math.log10(),math.log2()

Cơ số của lôgarit tự nhiên (số Napier):math.e

Cơ số của lôgarit tự nhiên (số Napier) được cung cấp dưới dạng một hằng số trong mô-đun toán học, được ký hiệu là math.e.

import math

print(math.e)
# 2.718281828459045

Power: ** operator, pow (), math.pow ():**nhà điều hành,pow(),math.pow()

Để tính lũy thừa, hãy sử dụng toán tử **, hàm tích hợp pow () hoặc math.pow ().

Bình phương y của x thu được như sau

  • 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 () chuyển đối số thành kiểu dấu phẩy động. Mặt khác, hàm tích hợp sẵn của Python là pow () sử dụng __pow () __ được định nghĩa cho từng kiểu.

Ví dụ: pow () cho phép các kiểu phức tạp được chỉ định làm đối số, nhưng math.pow () không thể chuyển đổi kiểu phức tạp thành kiểu float, dẫn đến lỗi.

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

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

Hàm pow () tích hợp trong Python cũng cho phép đối số thứ ba, pow (x, y, z), trả về phần còn lại (phần dư) của z thành lũy thừa y của x. Đây là cách tính tương tự như pow (x, y)% z, nhưng pow (x, y, z) hiệu quả hơn.

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

Căn bậc hai (root):math.sqrt()

Căn bậc hai (root) có thể được đặt thành ** 0,5 bằng cách sử dụng ** hoặc math.sqrt ().

print(2**0.5)
# 1.4142135623730951

print(math.sqrt(2))
# 1.4142135623730951

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

Giống như math.pow (), math.sqrt () chuyển đổi các đối số thành các kiểu dấu phẩy động để xử lý, vì vậy việc chỉ định một kiểu không thể chuyển đổi thành kiểu float sẽ dẫn đến Lỗi kiểu.

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

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

Ngoài ra, math.sqrt () không thể xử lý các giá trị âm, dẫn đến lỗi ValueError.

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

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

Lưu ý rằng khi xử lý các số phức, ví dụ sử dụng toán tử ** sẽ hiển thị lỗi, nhưng mô-đun cmath cung cấp giá trị chính xác hơn. Giá trị âm cũng có thể được xử lý.

import cmath

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

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

Hàm số mũ (hàm số mũ tự nhiên):math.exp()

Để tính lũy thừa của cơ số của lôgarit tự nhiên (số Napier) e, hãy sử dụng math.exp ().

math.exp (x) trả về x bình phương của e.
math.exp (x) không tương đương với “math.e ** x” và math.exp (x) chính xác hơn.

print(math.exp(2))
# 7.38905609893065

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

một hàm logarit:math.log(),math.log10(),math.log2()

Để tính hàm logarit, hãy sử dụng math.log (), math.log10 (), math.log2 ().

math.log (x, y) trả về logarit của x với y là cơ số.

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

Nếu đối số thứ hai bị bỏ qua, logarit tự nhiên được hiển thị bên dưới.

lôgarit

Trong toán học, logarit tự nhiên (logarit với số Napier e là cơ số), được biểu thị bằng log hoặc ln, có thể được tính bằng math.log (x).

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

logarit (cơ số 10)

Logarit thông thường (logarit với cơ số 10) có thể được tính bằng math.log10 (x), chính xác hơn math.log (x, 10).

print(math.log10(100000))
# 5.0

lôgarit nhị phân

Logarit nhị phân (logarit với cơ số 2) có thể được tính bằng math.log2 (x), chính xác hơn math.log (x, 2).

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