Để 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 giảm dần:
print("\nKết quả (trapz)...\n", np.trapz(arr, x=[80, 55]))
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 [80, 55] (giảm dần)
print("\nKết quả (trapz)...\n", np.trapz(arr, x=[80, 55]))
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=[80,55], y=[20,35]: (55-80)×(20+35)/2 = (-25)×55/2 = -687.5. Dấu âm do điểm mẫu giảm dần (x₁ < x₀).