Hướng dẫn double integral python - trăn tích phân kép

scipy.integrate.dblquad (func, a, b, gfun, hfun, args = (), epsabs = 1.49e-08, epsrel = 1.49E-08) [Nguồn]#dblquad(func, a, b, gfun, hfun, args=(), epsabs=1.49e-08, epsrel=1.49e-08)[source]#dblquad(func, a, b, gfun, hfun, args=(), epsabs=1.49e-08, epsrel=1.49e-08)[source]#dblquad(func, a, b, gfun, hfun, args=(), epsabs=1.49e-08, epsrel=1.49e-08)[source]#

Tính toán tích phân kép.

Trả về tích phân đôi (xác định) của

>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
5 từ
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
6 và
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
7.Tham sốfunccallablefunccallablefunccallablefunccallable

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, bfloatfloatfloatfloat

Giới hạn tích hợp trong x: a gfuncallable hoặc floatcallable or floatgfuncallable hoặc floatcallable or floatgfuncallable hoặc floatcallable or float

Đường cong ranh giới dưới trong y là một hàm lấy một đối số điểm nổi (x) và trả về kết quả điểm nổi hoặc phao cho thấy đường cong ranh giới không đổi.

hfuncallable hoặc floatcallable or floatcallable or floatcallable or float

Đường cong ranh giới trên trong y (cùng yêu cầu với GFUN).

args sau, tùy chọnsequence, optionalsequence, optionalsequence, optional

Các đối số bổ sung để chuyển đến func.

epsabsfloat, tùy chọnfloat, optionalfloat, optionalfloat, optional

Dung sai tuyệt đối được truyền trực tiếp đến tích hợp qua hai chiều bên trong. Mặc định là 1.49e-8.

>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
8 cố gắng đạt được độ chính xác của
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
9 trong đó
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
0 = tích phân bên trong của
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
5 từ
>>> 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, optionalepsrelfloat, tùy chọnfloat, optionalepsrelfloat, 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.ReturnSyFloatyfloatyfloatyfloat

Các tích phân kết quả.

abserrfloatfloatfloatfloat

Mộ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.Qagse

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.

qagie

Xử 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

1

Piessens, 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: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
00 từ 0 đến 2 và
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
01 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\).
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
2\(\int^{x=2}_{x=0} \int^{y=1}_{y=0} x y^2 \,dy \,dx\).
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
2\(\int^{x=2}_{x=0} \int^{y=1}_{y=0} x y^2 \,dy \,dx\).
>>> f = lambda y, x: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
2

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\).\(\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\).\(\int^{x=1}_{x=0} \int^{y=x}_{y=2-x} a x y \,dy \,dx\) for \(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: 1
>>> integrate.dblquad(f, 0, np.pi/4, np.sin, np.cos)
    (0.41421356237309503, 1.1083280054755938e-14)
0

Làm thế nào để bạn thực hiện tích hợp kép?

Tích hợp kép là một tích phân của hàm hai biến f (x, y) trên vùng R. nếu r = [a, b] × [c, d], thì tích phân kép có thể được thực hiện bằng cách tích hợp lặp (tích hợpĐầu tiên đối với y, và sau đó tích hợp liên quan đến x).Các ký hiệu cho tích phân kép được hiển thị lại bên dưới.iterated integration (integrate first with respect to y, and then integrate with respect to x). The notations for double integrals are shown again below.iterated integration (integrate first with respect to y, and then integrate with respect to x). The notations for double integrals are shown again below.iterated integration (integrate first with respect to y, and then integrate with respect to x). The notations for double integrals are shown again below.