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

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


Gradient được tính bằng sai phân trung tâm bậc 2 ở đ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ùng hình dạng với mảng đầu vào. Tham số f mảng N chiều. Tham số varargs khoảng cách (mặc định 1). Tham số edge_order {1, 2} bậc chính xác ở biên (mặc định 1). Tham số axis trục tính gradient (mặc định None - tất cả trục). Trả về danh sách ndarray đạ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 2D 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 theo trục 1 (hàng):

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

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, axis=1))

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...
2
Kiểu dữ liệu của đối tượng mảng...
float64
Kết quả (gradient)...
[[15.  18.5 22. ]
 [15.  25.  35. ]]