Để 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])
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() với điểm mẫu tăng dần:
print("\nKết quả (trapz)...\n", np.trapz(arr, x=[55, 80]))
Ví dụ hoàn chỉnh
import numpy as np
# Tạo mảng NumPy bằng array()
arr = np.array([20, 35])
# 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 điểm mẫu [55, 80] (tăng dần)
print("\nKết quả (trapz)...\n", np.trapz(arr, x=[55, 80]))
Kết quả đầu ra
Mảng của chúng ta...
[20 35]
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)...
687.5
Giải thích: Quy tắc bậc thang: ∫y dx ≈ (x₁-x₀)×(y₀+y₁)/2. Với x=[55,80], y=[20,35]: (80-55)×(20+35)/2 = 25×55/2 = 687.5. Dấu dương do điểm mẫu tăng dần (x₁ > x₀).