(1) Sẽ hữu ích nếu bạn cung cấp mã rõ ràng bạn sử dụng. Bằng cách đó những người khác (đọc: tôi) không cần phải mã nó lên một cách riêng biệt.
(2) Nếu tích phân tồn tại, nó phải bằng không. Điều này là do bạn phủ nhận hệ số n (y) -n (x) khi bạn trao đổi x và y nhưng giữ nguyên phần còn lại. Tuy nhiên, đối xứng phạm vi tích hợp có nghĩa là số tiền chỉ đổi tên các biến của bạn, do đó nó phải giữ nguyên.
(3) Dưới đây là một số mã cho thấy nó sẽ bằng không, ít nhất là nếu chúng ta không ra phần lẻ và một dải nhỏ xung quanh nó.
a = 1;
b = 1;
beta = 1;
eps[x_] := 2*(a-b*Cos[x])
n[x_] := 1/(1+Exp[beta*eps[x]])
delta = .001;
pw[x_,y_] := Piecewise[{{1,Abs[Abs[x]-Abs[y]]>delta}}, 0]
Chúng tôi thêm 1 vào số nguyên để tránh các vấn đề về độ chính xác với kết quả gần bằng không.
NIntegrate[1+Cos[(x+y)/2]^2*(n[x]-n[y])/(eps[x]-eps[y])^2*pw[Cos[x],Cos[y]],
{x,-Pi,Pi}, {y,-Pi,Pi}]/(4*Pi^2)
Tôi nhận được kết quả bên dưới.
NIntegrate::slwcon:
Numerical integration converging too slowly; suspect one of the following:
singularity, value of the integration is 0, highly oscillatory integrand,
or WorkingPrecision too small.
NIntegrate::eincr:
The global error of the strategy GlobalAdaptive has increased more than
2000 times. The global error is expected to decrease monotonically after a
number of integrand evaluations. Suspect one of the following: the
working precision is insufficient for the specified precision goal; the
integrand is highly oscillatory or it is not a (piecewise) smooth
function; or the true value of the integral is 0. Increasing the value of
the GlobalAdaptive option MaxErrorIncreases might lead to a convergent
numerical integration. NIntegrate obtained 39.4791 and 0.459541
for the integral and error estimates.
Out[24]= 1.00002
Đây là dấu hiệu tốt cho thấy kết quả không được trộn sẽ bằng không.
(4) Thay thế cx cho cos (x) và cy cho cos (y) và loại bỏ các yếu tố không liên quan cho mục đích đánh giá hội tụ, đưa ra biểu thức bên dưới.
((1 + E^(2*(1 - cx)))^(-1) - (1 + E^(2*(1 - cy)))^(-1))/
(2*(1 - cx) - 2*(1 - cy))^2
Mở rộng chuỗi trong cy, được căn giữa tại cx, biểu thị một cực của trật tự 1. Vì vậy, nó dường như là một tích phân số ít.
Daniel Lichtblau
Trong Mathematica, làm thế nào về 'Loại trừ -> {Cos [x] == Cos [y]}', hoặc bạn có thể chia nhỏ phạm vi theo cách thủ công ... – Simon
hoặc thay đổi lọ thành xi_ \ pm = (x \ pm y)/2 (số lượng này để xoay không gian, vì vậy bạn sẽ phải chăm sóc các giới hạn của bạn quá), để các cực trong mỗi var độc lập với var khác (vì cos (x) -cos (y) là một fn tách biệt của xi_ \ pm-hoặc vì vậy tôi nghĩ ít nhất). đây không phải là một câu hỏi lập trình, bằng cách này (không phải là tôi đang bỏ phiếu để đóng nó hay bất cứ điều gì). – acl