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

Tính gradient của mảng N chiều trong Python


Gradient được tính bằng sai phân trung tâm bậc 2 chính xác ở điểm nội bộ và sai phân một phía bậc 1 hoặc 2 ở biên. Gradient trả về có cùng hình dạng với mảng đầu vào. Tham số f là mảng N chiều chứa mẫu hàm vô hướng. Tham số varargs là khoảng cách giữa các giá trị f (mặc định 1). Tham số edge_order {1, 2} là bậc chính xác ở biên (mặc định 1). Tham số axis là trục tính gradient (mặc định None - tính cho tất cả trục). Trả về danh sách ndarray tương ứng với đạo hàm theo từng chiều.

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

Nhập NumPy:

import numpy as np

Tạo mảng 1D float:

arr = np.array([20, 35, 57, 70, 85, 120], dtype=float)

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)

Tính gradient (mặc định tất cả trục):

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

Ví dụ hoàn chỉnh

import numpy as np

arr = np.array([20, 35, 57, 70, 85, 120], dtype=float)

print("Mảng của chúng ta...\n", arr)
print("\nSố chiều của mảng...\n", arr.ndim)
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
print("\nKết quả (gradient)...\n", np.gradient(arr))

Kết quả đầu ra

Mảng của chúng ta...
[ 20.  35.  57.  70.  85. 120.]
Số chiều của mảng...
1
Kiểu dữ liệu của đối tượng mảng...
float64
Kết quả (gradient)...
[15.  18.5 17.5 14.  25.  35. ]