Chọn phương trình số nào để tích hợp một hàm với số ít?


9

Ví dụ: tôi muốn tính toán số lượng -norm của trong một số miền mà Bao gồm số không, tôi đã thử phương pháp bậc hai Gauss và nó thất bại, nó khác xa so với -norm thực sự trên quả bóng đơn vị sử dụng tọa độ hình cầu để tích hợp, có cách nào tốt để làm điều này không? Vấn đề này thường được thấy trong các vấn đề đồ chơi máy tính phần tử hữu hạn cho các miền có góc tái nhập. Cảm ơn.L2bạn= =1(x2+y2+z2)1/3L2


2
Nếu nguồn gốc nằm trong miền tích hợp, tôi có thể đề xuất chia nhỏ tích phân của bạn và sau đó chuyển đổi từng loại thành tọa độ hình cầu không?
JM

Tôi đồng ý với JM - nếu bạn biết trước vị trí và cấu trúc của các điểm kỳ dị, tốt hơn hết bạn nên sử dụng thông tin cấu trúc đó bằng cách viết các cuộc gọi đến thói quen bậc hai của bạn một cách thông minh so với việc đưa nó vào gói số và hy vọng rằng (a) nó tìm thấy điểm kỳ dị và (b) làm điều đúng với chúng.

Câu trả lời:


8

Bạn sẽ có thể nhận được kết quả chính xác với mpmath , mô-đun Python để tính toán dấu phẩy động chính xác tùy ý. Có những ví dụ về tích hợp với điểm kỳ dị trong tài liệu . Bạn sẽ muốn nói rõ ràng để chia nhỏ khoảng thời gian:

from mpmath import *
f = lambda x,y,z: 1./(x**2+y**2+z**2)**1./3
quad(f,[-1,0,1],[-1,0,1],[-1,0,1])

Bạn có thể cần tăng độ chính xác (ví dụ mp.dps=30) và nó có thể sẽ chậm, nhưng sẽ khá chính xác.

Bạn cũng có thể thử các cuộc gọi lồng nhau đến MATLAB quadgk(), sử dụng phương pháp bậc hai Gauss-Kronrod thích ứng trong 1D.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.