tích hợp số trong nhiều biến


12

Hãy f ( x ) : [ 0 , 1 ] nC là một chức năng trong các biến này.x=(x1,x2,,xn)[0,1]nf(x):[0,1]nC

Có một sơ đồ đệ quy cho tích phân lặp này không?

[0,1]ndxif(x)

Nếu và tôi chia [ 0 , 1 ] thành 100 phân đoạn, chúng tôi có 10 20 điểm để cộng lại. Phải có một cách thông minh hơn.n=10[0,1]1020


Trên thực tế, chức năng tôi muốn tích hợp là thước đo Haar của nhóm Đơn vị.

Bạn(n)f(Một) dMột= =1n![0,2π]nΠj<k|eTôiθj-eTôiθk|2f(θ1,Giáo dục,θn) dθ12π  dθn2π

2
Nếu kích thước của bạn không quá lớn, bạn cũng có thể xem xét các phương pháp bậc hai thưa thớt cho tích phân của mình.
Paul

@Paul bạn có thể giải thích chủ đề này nhiều hơn trong một câu trả lời? Tôi có thể sẽ bỏ phiếu
john mangual 31/12/13

Câu trả lời:


15

Đối với tích hợp với nhiều biến, phương pháp Monte Carlo thường phù hợp. Lỗi của nó giảm khi trong đó N là số điểm tương đương được chọn. Tất nhiên điều này không tốt cho không gian kích thước thấp (1D và 2D) nơi tồn tại các phương thức bậc cao. Tuy nhiên, hầu hết các phương pháp xác định này đều lấy một số lượng lớn điểm ở các chiều cao hơn. Ví dụ, một chương trình 1D trật tự 1 làO(Ôi(N)ở dạng 2D vàO(N 1Ôi(N)ở chế độ 3D. Điểm mạnh của phương pháp Monte Carlo là sự hội tụ lỗi không phụ thuộc vào kích thước không gian. Bất kể không gian của bạn là 1D hoặc 100D, nó làO(Ôi(N14). Ôi(N)

Vì nó có xác suất, tuy nhiên, bạn cần tích hợp nó nhiều lần bằng cách sử dụng một số điểm đã đặt để tìm độ lệch chuẩn và ước tính lỗi của bạn.


1
Để tích hợp, việc sử dụng quasi-Monte-Carlo, ví dụ sử dụng trình tự Sobel, là tốt hơn một chút.
Lutz Lehmann

À, vâng, tôi đã nêu các điểm phân phối bằng nhau (trên giả ngẫu nhiên) nhưng không phân biệt rõ ràng giữa hai điểm.
Godric Seer

1
1nΣf(xTôi)[0,1]nf dx

Có, trình tự Sobol sẽ xây dựng một phân phối điểm tốt. quasi-Monte-Carlo có thể là một trong những phương pháp tốt hơn cho vấn đề của bạn.
Godric Seer

8

Hình cầu lưới thưa thớt là một cách tiếp cận thay thế để tích hợp trong các kích thước cao hơn.

Phép cầu phương phụ thuộc vào việc đánh giá tổng các giá trị hàm tại các điểm "tối ưu" cụ thể. Phương pháp truyền thống sử dụng cấu trúc lưới sản phẩm tenor ở các kích thước cao hơn, có nghĩa là bạn sẽ phải đánh giá chức năng với số lượng điểm tăng theo cấp số nhân khi kích thước tăng.

Thủ thuật để phương trình lưới thưa thớt là bạn có thể có được độ chính xác thứ tự tương tự (theo nghĩa tiệm cận) bằng cách sử dụng một tập hợp con nhỏ của lưới sản phẩm tenxơ. Các điểm thưa thớt mà bạn chọn cuối cùng là những điểm tích hợp chính xác các đơn thức có tổng độ mong muốn . Tiết kiệm tính toán (so với lưới sản phẩm tenor) tăng đáng kể khi kích thước tăng.

Tuy nhiên, có những hạn chế đối với phương pháp này mà bạn nên biết.

  1. Phương pháp này không hoạt động tốt nếu chức năng của bạn không trơn tru (hoặc nói cách khác là không gần đúng bởi các hàm đa thức).
  2. Mặc dù thứ tự độ chính xác của phương pháp lưới thưa thớt có thể tương đương với lưới sản phẩm tenxơ, độ chính xác tương đối có thể tồi tệ hơn nhiều. Điều này là do hằng số trước thứ tự chính xác của lưới thưa thớt có thể rất lớn.
  3. Lưới thưa thớt hoạt động tốt cho kích thước tương đối nhỏ. Nhưng có một khía cạnh mà sau đó bạn có thể tốt hơn bằng cách sử dụng một phương pháp khác (như monte carlo hoặc các biến thể của nó).

Để biết thêm thông tin về lưới thưa thớt, tôi khuyên dùng Lưới thưa của Burkardt ở Kích thước cao . Nếu bạn quan tâm đến mã để tạo các lưới thưa thớt, bạn có thể muốn xem xét các tệp MATLAB này .

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.