Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tính logarit tự nhiên với scimath trong Python

Để tính logarit tự nhiên (ln) với mô-đun scimath trong Python, chúng ta sử dụng phương thức np.emath.log() của thư viện NumPy. Phương thức này trả về logarit của giá trị x. Nếu x là một giá trị vô hướng (scalar), kết quả cũng là vô hướng; nếu x là mảng, kết quả trả về là một mảng.

Các bước thực hiện

1. Nhập thư viện cần thiết

import numpy as np

2. Tạo mảng NumPy

Tạo mảng chứa các giá trị đặc biệt: vô cực dương, vô cực âm, số e (căn bậc hai của e), và âm số e.

arr = np.array([np.inf, -np.inf, np.exp(1), -np.exp(1)])

3. Hiển thị mảng

print("Mảng của chúng ta...\n", arr)

4. Kiểm tra số chiều

print("\nSố chiều của mảng...\n", arr.ndim)

5. Lấy kiểu dữ liệu

print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)

6. Lấy hình dạng (shape)

print("\nHình dạng của đối tượng mảng...\n", arr.shape)

7. Tính logarit tự nhiên với np.emath.log()

print("\nKết quả (log)...\n", np.emath.log(arr))

Ví dụ hoàn chỉnh

import numpy as np

# Tạo mảng NumPy
arr = np.array([np.inf, -np.inf, np.exp(1), -np.exp(1)])

# Hiển thị mảng
print("Mảng của chúng ta...\n", arr)

# Kiểm tra số chiều
print("\nSố chiều của mảng...\n", arr.ndim)

# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)

# Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", arr.shape)

# Tính logarit tự nhiên với scimath
print("\nKết quả (log)...\n", np.emath.log(arr))

Kết quả đầu ra

Mảng của chúng ta...
 [ inf -inf  2.71828183 -2.71828183]
Số chiều của mảng...
 1
Kiểu dữ liệu của đối tượng mảng...
 float64
Hình dạng của đối tượng mảng...
 (4,)
Kết quả (log)...
 [inf+0.j inf+3.14159265j 1.+0.j 1.+3.14159265j]

Giải thích kết quả:

  • log(inf) = inf + 0j
  • log(-inf) = inf + πj (vì log của số âm cho phần ảo là π)
  • log(e) = 1 + 0j
  • log(-e) = 1 + πj

Phương thức np.emath.log() xử lý các giá trị phức và đặc biệt (như vô cực, NaN) một cách tự nhiên, trả về kết quả dạng số phức khi cần thiết.