Để tích phân dọc theo trục đã cho bằng quy tắc bậc thang composite (composite trapezoidal rule), sử dụng phương thức numpy.trapz(). Nếu x được cung cấp, tích phân diễn ra theo trình tự dọc theo các phần tử của nó - chúng không được sắp xếp. Phương thức trả về tích phân xác định của y = mảng n-chiều được xấp xỉ dọc theo một trục đơn lẻ bằng quy tắc bậc thang. Nếu y là mảng 1 chiều, kết quả là một float. Nếu n > 1, kết quả là mảng n-1 chiều.
Tham số thứ nhất, y là mảng đầu vào để tích phân. Tham số thứ hai, x là các điểm mẫu tương ứng với các giá trị y. Nếu x là None, các điểm mẫu được giả định cách đều dx. Mặc định là None. Tham số thứ ba, dx là khoảng cách giữa các điểm mẫu khi x là None. Mặc định là 1. Tham số thứ tư, axis là trục dọc theo đó tích phân.
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 NumPy bằng phương thức array(). Chúng ta thêm các phần tử kiểu int:
arr = np.array([20, 35, 57, 70, 85, 120])
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ích phân bằng quy tắc bậc thang composite, sử dụng numpy.trapz() (mặc định dx=1):
print("\nKết quả (trapz)...\n", np.trapz(arr))
Ví dụ hoàn chỉnh
import numpy as np
# Tạo mảng NumPy bằng array()
arr = np.array([20, 35, 57, 70, 85, 120])
# 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ích phân với trapz (dx=1 mặc định)
print("\nKết quả (trapz)...\n", np.trapz(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...
int64
Kết quả (trapz)...
317.0
Giải thích: Với dx=1 mặc định, quy tắc bậc thang composite: Σ(y[i]+y[i+1])/2 * dx. Tính: (20+35)/2 + (35+57)/2 + (57+70)/2 + (70+85)/2 + (85+120)/2 = 27.5 + 46 + 63.5 + 77.5 + 102.5 = 317.0.