Những dao động này là gì?


8

Tôi có một hàm được định nghĩa bằng số nằm giữa Gaussian và Lorentzian. Nó phân rã chậm hơn nhiều so với Gaussian, nhưng vẫn nhanh hơn công suất nghịch đảo đơn giản.g(x)

nhập mô tả hình ảnh ở đây

Tôi cần tính toán biến đổi Fourier của nó cho lớn . Vì các lệnh gọi hàm đắt tiền về mặt tính toán, tôi xác định phép nội suy của - gọi nó là - trên một phạm vi lớn của , -40 <x <40 , và sử dụng nó cho tích phân của tôi.t g ( x ) g ( x ) g int ( x ) x - 40 < x < 40f(t)F[g(x)](t)tg(x)g(x)gint(x)x-40<x<40

f(t)= =-cos(tx)g(x)dx-LLcos(tx)gint(x)dx

Tuy nhiên, khi tôi tính toán một xấp xỉ với biến đổi Fourier, tôi nhận được một số dao động kỳ lạ mà ban đầu tôi không mong đợi.

nhập mô tả hình ảnh ở đây

Như tôi đã chỉ ra trong hình trên, các dao động có "chu kỳ" khoảng 15,7. Dự đoán đầu tiên của tôi sẽ là đây có thể là một tạo tác của tính chất hủy xen kẽ của tích phân, nhưng điều đó không giải thích được "khoảng thời gian" quan sát được của ngày 15.7.

Tphỏng đoán= =2πL0,177Giáo dục

đó chính xác là một yếu tố của 100 khác với những gì tôi quan sát (vâng, tôi đã kiểm tra rằng tôi đã xác định chính xác các tích phân và trục ngang của mình). Làm sao chuyện này có thể?


Chỉnh sửa # 1: Chi tiết nội suy

Tôi đang nội suy với tích hợp sẵn của Mathicala Interpolation, nội suy giữa các điểm liên tiếp với một đường cong hình khối (vì vậy tại mỗi điểm lên đến đạo hàm 2 được xác định). Tôi đặc biệt nội suy hàm trong phạm vi trong các bước của .thứg(x)-40<x<40dx= =40/100= =0,4

Trong thực tế, bây giờ khi tôi viết điều đó, tôi nhận ra nó rất có thể là một tạo tác của việc lấy mẫu hữu hạn của tôi, bởi vì:

Tđoán # 2= =2πdx= =2π0,4= =15,7Giáo dục

Tôi sẽ đánh giá cao bất kỳ trợ giúp thêm về điều này, đặc biệt là một cách tốt để khắc phục vấn đề này.


Chỉnh sửa # 2: Hàmg(x)

h[x_?NumericQ, En_?NumericQ, pz_?NumericQ] := 
 1./(En^2 + pz^2 + 0.24^2)*
  NIntegrate[((Sqrt[
      0.316/(1. + 
         1.2*((k4 + 0.5*En)^2 + kp + (x*pz)^2))^1.*0.316/(1. + 
         1.2*((k4 - 0.5*En)^2 + kp + ((1. - x)*pz)^2))^1.])*((1. - 
         x)*0.316/(1. + 1.2*((k4 + 0.5*En)^2 + kp + (x*pz)^2))^1. + 
      x*0.316/(1. + 
         1.2*((k4 - 0.5*En)^2 + kp + ((1. - x)*pz)^2))^1.))/(((k4 + 
        0.5*En)^2 + 
      kp + (x*pz)^2 + (0.316/(1. + 
         1.2*((k4 + 0.5*En)^2 + kp + (x*pz)^2))^1.)^2)*((k4 - 
        0.5*En)^2 + 
      kp + ((1. - x)*
        pz)^2 + (0.316/(1. + 
         1.2*((k4 - 0.5*En)^2 + 
            kp + ((1. - x)*
              pz)^2))^1.)^2)), {k4, -\[Infinity], \[Infinity]}, {kp, 
    0, \[Infinity]}, Method -> "LocalAdaptive", 
   MaxRecursion -> 
    100]; (*LocalAdaptive seems to work slightly faster *)

g[x_]:=h[0.5,x,2.]; (*this is the function*)

Bạn đang sử dụng loại nội suy nào? Nó thực sự không phải là chức năng dễ nhất để nội suy chính xác trên một miền lớn như vậy.
Anton Menshov

@AntonMenshov Xem chỉnh sửa gần đây nhất của tôi.
Arturo don Juan

4
Tôi muốn chỉ ra rằng mọi phương thức tích hợp số về cơ bản đều xây dựng một hàm nội suy của hàm của bạn và tích hợp chính xác, do đó, bằng cách tự nội suy hàm trước, bạn thực sự thay thế Integrateviệc xây dựng các phép nội suy thích nghi (và tất cả các ý nghĩ đã đi vào thiết kế) với của riêng bạn, đó có lẽ là một ý tưởng tồi.
Kirill

2
Một ý tưởng khác: được cho là tốt như thế nào , hãy thử xây dựng một chuỗi Ch Quashev (một loại nội suy đa thức bậc cao hoạt động tốt) của trên (như vậy:, không chắc có bao nhiêu các nút bạn sẽ cần), và sau đó tích hợp nó. (Đây không phải là một cách tốt để tính toán xấp xỉ Ch Quashev, chỉ để trình diễn.)gđăng nhậpg(x)[-L,L]Module[{n=32,L=10},Exp[InterpolatingPolynomial[Table[{x,Log[g[x]]},{x,-L Cos[(π N@Range[1,2n-1,2])/(2n)]}],x]]]
Kirill

1
Tôi cũng nghĩ rằng nó sẽ giúp biên dịch integrand ( gist.github.com/ikirill/931dbf6fb3581f7d66353b74c4743cd3 ), độc lập với tất cả các vấn đề khó hơn ở đây, nó tăng tốc lên gấp 8 lần cho tôi.
Kirill

Câu trả lời:


5

--LL

Lcos(tx)g(x)dx= =1ttội(tx)g(x)|L-Ltộitxtg'(x)dx= =-1Lg(L)tội(tL)+điều khoản nhỏ hơn không có triệu chứng.
g'g

g(L)g(L)

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.