Tích hợp số nhanh Python
Hơn 1500 sơ đồ tích hợp số cho các đoạn thẳng, hình tròn, đĩa, hình tam giác, hình tứ giác, hình cầu, quả bóng, tứ diện, hình lục giác, hình nêm, hình chóp, n hình cầu, n hình cầu, n hình lập phương, n hình đơn giản, nửa 1D- Show Ví dụ: để tích hợp số lượng bất kỳ chức năng nào trong bất kỳ khoảng thời gian nhất định nào, hãy cài đặt quadpy từ Chỉ mục gói Python với
và làm import numpy as np import quadpy def f(x): return np.sin(x) - x val, err = quadpy.quad(f, 0.0, 6.0) Điều này giống như scipy với việc bổ sung quadpy xử lý các tích phân phức-, véc-tơ-, giá trị ma trận và "khoảng" trong không gian có kích thước tùy ý Để lấy tích phân trên một tam giác, hãy làm import numpy as np import quadpy def f(x): return np.sin(x[0]) * np.sin(x[1]) triangle = np.array([[0.0, 0.0], [1.0, 0.0], [0.7, 0.5]]) # get a "good" scheme of degree 10 scheme = quadpy.t2.get_good_scheme(10) val = scheme.integrate(f, triangle) Hầu hết các miền có scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show() scheme.integrate( # ... )2. Nếu bạn muốn sử dụng một lược đồ cụ thể, bạn có thể chọn một lược đồ từ từ điển scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show() scheme.integrate( # ... )3 Tất cả các phương án có scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show() scheme.integrate( # ... ) và nhiều người có scheme.points_symbolic scheme.weights_symbolic quadpy hoàn toàn được vector hóa, vì vậy nếu bạn muốn tính tích phân của một hàm trên nhiều miền cùng một lúc, bạn có thể cung cấp tất cả chúng trong một lệnh gọi scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show() scheme.integrate( # ... )4, e. g. ,________số 8 Điều tương tự cũng xảy ra với các chức năng có đầu ra được vector hóa, e. g. , def f(x): return [np.sin(x[0]), np.sin(x[1])] Thêm ví dụ dưới test/examples_test. py Đọc thêm về số chiều của mảng đầu vào/đầu ra trong wiki Chủ đê nâng cao đề ánĐoạn thẳng (C1)Xem tại đây để biết cách tạo công thức Gauss cho các hàm trọng số của riêng bạn Ví dụ import numpy as np import quadpy def f(x): return np.sin(x) - x val, err = quadpy.quad(f, 0.0, 6.0)0 Nửa không gian 1D với hàm trọng số exp(-r) (E1r)Ví dụ import numpy as np import quadpy def f(x): return np.sin(x) - x val, err = quadpy.quad(f, 0.0, 6.0)1 Không gian 1D với hàm trọng số exp(-r2) (E1r2)Ví dụ import numpy as np import quadpy def f(x): return np.sin(x) - x val, err = quadpy.quad(f, 0.0, 6.0)2 Vòng tròn (U2)
Ví dụ import numpy as np import quadpy def f(x): return np.sin(x) - x val, err = quadpy.quad(f, 0.0, 6.0)0 Tam giác (T2)Ngoài sơ đồ trọng tâm, đỉnh và bảy điểm cổ điển, chúng ta có Ví dụ import numpy as np import quadpy def f(x): return np.sin(x) - x val, err = quadpy.quad(f, 0.0, 6.0)1 Đĩa (S2)Ví dụ import numpy as np import quadpy def f(x): return np.sin(x) - x val, err = quadpy.quad(f, 0.0, 6.0)2 Tứ giác (C2)Ví dụ import numpy as np import quadpy def f(x): return np.sin(x) - x val, err = quadpy.quad(f, 0.0, 6.0)3 Các điểm được chỉ định trong một mảng hình dạng (2, 2,. ) sao cho scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show() scheme.integrate( # ... )5 ở góc dưới bên trái, scheme.points scheme.weights scheme.degree scheme.source scheme.test_tolerance scheme.show() scheme.integrate( # ... )6 ở góc trên bên phải. Nếu c2 của bạn có các cạnh thẳng hàng với các trục tọa độ, bạn có thể sử dụng chức năng tiện lợi |