กุญแจสำคัญในการประเมินผลของอินทิกรัลสโคปคือการตัดอินทิกรัลในจุดที่ถูกต้อง สำหรับตัวอย่างนี้คุณต้องเลือกขีด จำกัด บนของรูปแบบ
ก่อนที่จะอธิบายว่าทำไมมันจึงควรใช้งานให้ฉันในตอนแรกแสดงว่ามันให้ผลลัพธ์ที่ดีจริง ๆπN+π2
asymptotics
มันง่ายที่จะเดาได้ว่าซีรีย์ซีมโทติคมีรูปแบบ
เพื่อตรวจสอบตัวเลขว่ามันก็เพียงพอแล้วที่จะทำพล็อตความแตกต่างระหว่างนิพจน์แบบอินทิกซีติกและนำหน้า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,…
คำอธิบาย
ตัวอย่างง่ายๆ
สำหรับภาพประกอบฉันจะใช้ตัวอย่างที่ง่ายขึ้นของ sine - integral
ให้ฉันจินตนาการว่าฉันสนใจคุณค่าแต่ฉันไม่รู้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)|
ปัญหาของคุณ
กลับมาที่อินทิกรัลจากเส้นทางของคอนสแตนตินและยาโรสลาฟคุณจะเห็นได้ว่ามันทำงานในลักษณะเดียวกับไซน์ - อินทิกรัลเป็นฟังก์ชันของลิมิตสูงสุด ซึ่งหมายความว่าคุณต้องคำนวณค่า
กับ{2} ด้านล่างเป็นพล็อตของค่าหลายอย่างเช่นกับ12Ix0(λ)=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