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

Tính nghịch đảo hyperbolic tangent của các phần tử mảng trong Python

Hàm arctanh là hàm đa trị: với mỗi x tồn tại vô số số z sao cho tanh(z) = x. Quy ước là trả về z có phần ảo nằm trong [-pi/2, pi/2]. Nghịch đảo hyperbolic tangent còn được gọi là atanh hoặc tanh⁻¹.

Để tính nghịch đảo hyperbolic tangent của các phần tử mảng, sử dụng phương thức numpy.arctanh() trong Python NumPy. Phương thức trả về mảng cùng hình dạng với x. Đây là scalar nếu x là scalar. Tham số thứ nhất, x là mảng đầu vào. Tham số thứ hai và thứ ba là tùy chọn.

Tham số thứ hai là ndarray, vị trí lưu kết quả. Nếu cung cấp, phải có hình dạng mà các đầu vào broadcast đến. Nếu không cung cấp hoặc None, mảng mới được cấp phát trả về.

Tham số thứ ba là điều kiện broadcast qua đầu vào. Tại vị trí điều kiện True, mảng out sẽ được đặt thành kết quả ufunc. Ngược lại, mảng out giữ giá trị gốc.

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

Trước tiên, nhập thư viện cần thiết:

import numpy as np

Tạo mảng bằng phương thức array() trong NumPy:

arr = np.array((0, 0.2, 0.3, 0.5, 0.11))

Hiển thị mảng:

print("Mảng...\n", arr)

Lấy kiểu dữ liệu:

print("\nKiểu dữ liệu mảng...\n", arr.dtype)

Lấy số chiều của mảng:

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

Lấy số phần tử của mảng:

print("\nSố phần tử trong mảng...\n", arr.size)

Để tìm nghịch đảo hyperbolic tangent của các phần tử mảng, sử dụng numpy.arctanh():

print("\nKết quả...", np.arctanh(arr))

Ví dụ hoàn chỉnh

import numpy as np

# Tính nghịch đảo hyperbolic tangent của các phần tử mảng
print("Tính nghịch đảo hyperbolic tangent của các phần tử mảng...")

# Tạo mảng bằng array()
arr = np.array((0, 0.2, 0.3, 0.5, 0.11))

# Hiển thị mảng
print("\nMảng...\n", arr)

# Lấy kiểu mảng
print("\nKiểu mảng của chúng ta...\n", arr.dtype)

# Lấy số chiều mảng
print("\nSố chiều mảng...\n", arr.ndim)

# Lấy số phần tử
print("\nSố phần tử...\n", arr.size)

# Tính arctanh
print("\nKết quả...", np.arctanh(arr))

Kết quả đầu ra

Tính nghịch đảo hyperbolic tangent của các phần tử mảng...
Mảng...
 [0. 0.2 0.3 0.5 0.11]
Kiểu mảng của chúng ta...
 float64
Số chiều mảng...
 1
Số phần tử...
 5
Kết quả...
 [0. 0.20273255 0.3095196 0.54930614 0.11044692]

Giải thích: Hàm arctanh(x) = ½ ln((1+x)/(1-x)) cho |x|<1. Các giá trị:

  • arctanh(0) = 0
  • arctanh(0.2) ≈ 0.2027
  • arctanh(0.3) ≈ 0.3095
  • arctanh(0.5) ≈ 0.5493
  • arctanh(0.11) ≈ 0.1104