Tính toán tích phân kép.
Trả về tích phân đôi [xác định] của func[y, x]
từ x = a..b
và y = gfun[x]..hfun[x]
.
Hàm Python hoặc phương pháp của ít nhất hai biến: y phải là đối số đầu tiên và x đối số thứ hai.
a, bfloatfloatGiới hạn tích hợp trong x: a > f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14] 0 đến
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]1 và
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]2 là xấp xỉ bằng số. Xem EPSREL bên dưới.epsrelfloat, tùy chọnfloat, optional
Dung sai tương đối của các tích phân 1-D bên trong. Mặc định là 1.49e-8. Nếu
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]3, EPSREL phải lớn hơn cả 5E-29 và
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]4. Xem epsab ở trên.
Các tích phân kết quả.
abserrfloatfloatMột ước tính của lỗi.
Ghi chú
Chi tiết về các thói quen cấp quadpack
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]5 gọi các thói quen từ thư viện Fortran QuadPack. Phần này cung cấp chi tiết về các điều kiện cho mỗi thói quen được gọi và một mô tả ngắn về từng thói quen. Đối với mỗi cấp độ tích hợp,
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]6 được sử dụng cho các giới hạn hữu hạn hoặc
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]7 được sử dụng nếu giới hạn [hoặc cả hai!] Là vô hạn. Sau đây cung cấp một mô tả ngắn từ [1] cho mỗi thói quen.
là một nhà tích hợp dựa trên phân khu khoảng thời gian thích ứng toàn cầu liên quan đến phép ngoại suy, sẽ loại bỏ các tác động của các điểm kỳ tích của một số loại.
qagieXử lý tích hợp trong các khoảng thời gian vô hạn. Phạm vi vô hạn được ánh xạ vào một khoảng thời gian hữu hạn và sau đó chiến lược tương tự như trong
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]8 được áp dụng.
Người giới thiệu
1Piessens, Robert; De Doncker-Kapenga, Elise; Überhuber, Christoph W .; Kahaner, David [1983]. QuadPack: Gói chương trình con để tích hợp tự động. Springer-Verlag. ISBN 980-3-540-12553-2.
Ví dụ
Tính toán tích phân kép của
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]9 trên hộp
>>> f = lambda y, x, a: a*x*y >>> integrate.dblquad[f, 0, 1, lambda x: x, lambda x: 2-x, args=[1,]] [0.33333333333333337, 5.551115123125783e-15] >>> integrate.dblquad[f, 0, 1, lambda x: x, lambda x: 2-x, args=[3,]] [0.9999999999999999, 1.6653345369377348e-14]0 từ 0 đến 2 và
>>> f = lambda y, x, a: a*x*y >>> integrate.dblquad[f, 0, 1, lambda x: x, lambda x: 2-x, args=[1,]] [0.33333333333333337, 5.551115123125783e-15] >>> integrate.dblquad[f, 0, 1, lambda x: x, lambda x: 2-x, args=[3,]] [0.9999999999999999, 1.6653345369377348e-14]1 từ 0 đến 1. nghĩa là, \ [\ int^{x = 2} _ {x = 0} \ int^{y = 1} _ {y = 0} x y^2 \, dy \, dx \].\[\int^{x=2}_{x=0} \int^{y=1}_{y=0} x y^2 \,dy \,dx\].
>>> from scipy import integrate >>> f = lambda y, x: x*y**2 >>> integrate.dblquad[f, 0, 2, 0, 1] [0.6666666666666667, 7.401486830834377e-15]
Tính toán \ [\ int^{x = \ pi/4} _ {x = 0} \ int^{y = \ cos [x]} _ {y = \ sin [x]} 1 \, dy \, dx \ ].\[\int^{x=\pi/4}_{x=0} \int^{y=\cos[x]}_{y=\sin[x]} 1 \,dy \,dx\].
>>> f = lambda y, x: 1 >>> integrate.dblquad[f, 0, np.pi/4, np.sin, np.cos] [0.41421356237309503, 1.1083280054755938e-14]
Tính toán \ [\ int^{x = 1} _ {x = 0} \ int^{y = x} _ {y = 2-x} a x y \, dy \, dx \] cho \ [a = 1, 3 \].\[\int^{x=1}_{x=0} \int^{y=x}_{y=2-x} a x y \,dy \,dx\] for \[a=1, 3\].
>>> f = lambda y, x, a: a*x*y >>> integrate.dblquad[f, 0, 1, lambda x: x, lambda x: 2-x, args=[1,]] [0.33333333333333337, 5.551115123125783e-15] >>> integrate.dblquad[f, 0, 1, lambda x: x, lambda x: 2-x, args=[3,]] [0.9999999999999999, 1.6653345369377348e-14]