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

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

Hàm arccosh là hàm đa trị: với mỗi x tồn tại vô số số z sao cho cosh(z) = x. Quy ước là trả về z có phần ảo nằm trong [-pi, pi] và phần thực trong [0, inf]. Với kiểu dữ liệu đầu vào thực, arccosh luôn trả về đầu ra thực. Với mỗi giá trị không thể biểu diễn như số thực hoặc vô cùng, nó trả về nan và đặt cờ lỗi floating point không hợp lệ. Với đầu vào phức, arccosh là hàm giải tích phức có cắt nhánh [-inf, 1] và liên tục từ trên.

Để tính nghịch đảo hyperbolic cosine của các phần tử mảng, sử dụng phương thức numpy.arccosh(). 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., 30., 45., 60., 90., 180., np.pi*1j/2, np.pi*1j))

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 cosine của các phần tử mảng, sử dụng numpy.arccosh():

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

Ví dụ hoàn chỉnh

import numpy as np

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

# Tạo mảng bằng array()
arr = np.array((0., 30., 45., 60., 90., 180., np.pi*1j/2, np.pi*1j))

# Hiển thị mảng
print("Mả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 arccosh
print("\nKết quả...", np.arccosh(arr))

Kết quả đầu ra

Tính nghịch đảo hyperbolic cosine của các phần tử mảng...
Mảng...
 [ 0.+0.j 30.+0.j 45.+0.j 60.+0.j 90.+0.j 180.+0.j 0.+1.57079633j 0.+3.14159265j]
Kiểu mảng của chúng ta...
 complex128
Số chiều mảng...
 1
Số phần tử...
 8
Kết quả...
 [0. +1.57079633j 4.09406667+0.j 4.49968619+0.j 4.78742229+0.j 5.19292599+0.j 5.88609632+0.j 1.23340312+1.57079633j 1.86229574+1.57079633j]

Giải thích:

  • Với x=0: arccosh(0) = π/2 i ≈ 1.5708i (phần ảo)
  • Với x > 1 (30, 45, 60, 90, 180): kết quả thực dương
  • Với đầu vào phức πi/2 và πi: kết quả phức