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

Tích phân bằng quy tắc bậc thang composite và đặt điểm mẫu tích phân ngược trong Python

Để 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₀).