scipy.integrate --- Tích phân số¶
Submodule scipy.integrate cung cấp các thủ tục tích phân số cho các hàm một biến thực. Các thuật toán không được chuyển từ scipy.integrate của CPython mà được suy ra từ cài đặt tham chiếu tại https://www.genivia.com/qthsh.html.
Tích phân số hoạt động tốt nhất khi bật toán học float64. Với toán học float32 các thủ tục vẫn hoạt động nhưng với độ chính xác thấp hơn. Dung sai lỗi cần thiết có thể được chỉ định qua tham số từ khóa eps; mặc định là giá trị etolerance tại thời điểm biên dịch (1e-14 với fp64, 1e-8 với fp32). Số phức không được hỗ trợ.
Các hàm¶
- scipy.integrate.quad(f: Callable[[float], float], a: float, b: float, *, order: int = 5, eps: float = etolerance) tuple[float, float]¶
Tích phân f từ a đến b sử dụng cầu phương thích nghi Gauss-Kronrod (G10, K21). Đây là bộ tích phân đa năng được khuyến nghị.
- Tham số:
f -- hàm gọi được nhận một
floatvà trả về mộtfloat.a -- giới hạn tích phân dưới.
b -- giới hạn tích phân trên.
order -- bậc tích phân (mặc định
5).eps -- dung sai lỗi (mặc định
etolerance).
- Trả về:
tuple 2 phần tử
(result, error)gồm các float cho giá trị của tích phân và ước tính sai số.
- scipy.integrate.romberg(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Tích phân f từ a đến b sử dụng phương pháp Romberg, công thức Newton-Cotes tính toán bị tích phân tại các điểm cách đều nhau. Phù hợp nhất với các bị tích phân có đạo hàm liên tục. Lưu ý rằng
scipy.integrate.rombergđã bị loại bỏ trong CPython kể từ SciPy 1.12.0; ưu tiên dùngquad()cho mã mới.- Tham số:
f -- hàm gọi được nhận một
floatvà trả về mộtfloat.a -- giới hạn tích phân dưới.
b -- giới hạn tích phân trên.
steps -- số bước (mặc định
100).eps -- dung sai lỗi (mặc định
etolerance).
- Trả về:
giá trị của tích phân dưới dạng
float.
- scipy.integrate.simpson(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Tích phân f từ a đến b sử dụng quy tắc Simpson thích nghi. Khác với
scipy.integrate.simpsoncủa CPython, hàm này nhận một hàm gọi được và tự chọn khoảng cách mẫu thay vì nhận mảng các giá trị hàm được tính sẵn.- Tham số:
f -- hàm gọi được nhận một
floatvà trả về mộtfloat.a -- giới hạn tích phân dưới.
b -- giới hạn tích phân trên.
steps -- số bước (mặc định
100).eps -- dung sai lỗi (mặc định
etolerance).
- Trả về:
giá trị của tích phân dưới dạng
float.
- scipy.integrate.tanhsinh(f: Callable[[float], float], a: float, b: float, *, levels: int = 6, eps: float = etolerance) tuple[float, float]¶
Tích phân f từ a đến b sử dụng họ cầu phương Tanh-Sinh, Sinh-Sinh và Exp-Sinh (mũ kép). Đây là thủ tục nên dùng khi bị tích phân có điểm kỳ dị hoặc đạo hàm vô hạn tại các điểm đầu mút, và là thủ tục duy nhất trong submodule này chấp nhận giới hạn tích phân vô hạn (ví dụ:
-np.inf,np.inf).- Tham số:
f -- hàm gọi được nhận một
floatvà trả về mộtfloat.a -- giới hạn tích phân dưới; có thể là
-np.inf.b -- giới hạn tích phân trên; có thể là
np.inf.levels -- số mức tinh chỉnh (mặc định
6).eps -- dung sai lỗi (mặc định
etolerance).
- Trả về:
tuple 2 phần tử
(result, error)gồm các float cho giá trị của tích phân và ước tính sai số.