πN+π2
漸近
I(λ)∼2πλ−−−√[cos(λ−π4)+c1sin(λ−π4)λ+c2cos(λ−π4)λ2+c3sin(λ−π4)λ3+…]
c1=18
int := NIntegrate[Cos[l*Cos[x]]*Sinc[x], {x, 0, 20.5*Pi}];
Plot[{l*(Sqrt[2*l/Pi]*int - Cos[l-Pi/4]), Sin[l-Pi/4]/8}, {l, Pi/4, 20}]
出力として、上で導出したものと一致する非常に良いサインを取得します。
次の係数を見つけたい場合は、必要に応じてもう少し洗練されたコードを探します。以下のコードの考え方は、いくつかの上限値を取り、その結果を「平均化」することです。
J[l_?NumericQ] := Block[{n=500},
f[k_] := NIntegrate[Cos[l*Cos[x]]*Sinc[x], {x,0,(n+k)*Pi+Pi/2},
Method->{"DoubleExponential"}, AccuracyGoal->14, MaxRecursion->100];
1/2*((f[0]+f[1])/2+(f[1]+f[2])/2)
]
t = Table[{l, l^2*(Sqrt[2*l/Pi]*J[l] - Cos[l-Pi/4] - 1/8*Sin[l-Pi/4]/l)},
{l, 4*Pi+Pi/4, 12*Pi+Pi/4, Pi/36}];
Fit[t, Table[Cos[l-Pi/4+Pi/2*n]/l^n, {n, 0, 10}], l]
c2=−9128,c3=−751024,c4=367532768,…
説明
簡単な例
S(x)=∫x0sin(y)ydy.
S(∞)=π2
S(x)SN=∑n=1N(−1)nn.
S≈SN+12(−1)N+1N+1.
S(x)≈∫πN+π20sinxxdx
max|S′(x)|
あなたの問題
Ix0(λ)=2∫x00cos(λcos(x))sinc(x)dx
x0=πN+π2λ=12π
tab = Table[{x0, 2*NIntegrate[Cos[12*Pi*Cos[x]]*Sinc[x], {x, 0, x0},
Method->{"DoubleExponential"}, AccuracyGoal->12, MaxRecursion->100]},
{x0, 10*Pi+Pi/2, 30*Pi+Pi/2, Pi}];
tab1 = Table[(tab[[i]] + tab[[i+1]])/2, {i,1,Length[tab]-1}];
ListPlot[{tab, tab1}]
S′N=12(SN+SN+1)
S′N