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

Tính căn bậc hai của đầu vào âm với emath trong Python

Để tính căn bậc hai của mảng chứa các giá trị âm, chúng ta sử dụng np.emath.sqrt() (cũng được gọi qua np.scimath.sqrt()) trong NumPy. Phương thức này trả về căn bậc hai của từng phần tử. Với các phần tử âm, kết quả sẽ là số phức.

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

1. Nhập thư viện

import numpy as np

2. Tạo mảng chứa giá trị dương và âm

arr = np.array([1, -4, -9, 16, -25, 36])

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

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

7. Tính căn bậc hai với np.emath.sqrt()

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

Ví dụ hoàn chỉnh

import numpy as np

# Tạo mảng NumPy
arr = np.array([1, -4, -9, 16, -25, 36])

# 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 căn bậc hai với scimath.sqrt()
print("\nKết quả...\n", np.emath.sqrt(arr))

Kết quả đầu ra

Mảng của chúng ta...
 [ 1 -4 -9 16 -25 36]
Số chiều của mảng...
 1
Kiểu dữ liệu của đối tượng mảng...
 int64
Hình dạng của đối tượng mảng...
 (6,)
Kết quả...
 [1.+0.j 0.+2.j 0.+3.j 4.+0.j 0.+5.j 6.+0.j]

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

  • √1 = 1.0 + 0.0j
  • √(-4) = 0.0 + 2.0j
  • √(-9) = 0.0 + 3.0j
  • √16 = 4.0 + 0.0j
  • √(-25) = 0.0 + 5.0j
  • √36 = 6.0 + 0.0j

Kết quả được trả về dưới dạng mảng số phức (complex128) để thống nhất kiểu dữ liệu, dù các giá trị dương có phần ảo bằng 0.