Qurak

N integrate integration strategies extrapolating oscillatory strategy

Tutorial 9 pasos, ejecutados en orden en una sola sesión. Cada paso se ejecutó contra el motor y la salida de abajo es lo que produjo.

Paso 1
NIntegrate[Sin[200 x ^ 2 + 5](1/(x + 1) ^ 2), {x, 0, ∞}, Method -> "ExtrapolatingOscillatory"]
Salida
NIntegrate[Sin[5 + 200*x^2]/(1 + x)^2, {x, 0, Infinity}, Method -> ExtrapolatingOscillatory]
Paso 2
Clear[ω, k, f];
ω = 20;
k[x_] := Sin[ω x];
f[x_] := (1/(x + 1) ^ 2);

Sin salida - este paso prepara algo para el siguiente.

Paso 3
Plot[k[x]f[x], {x, 0, 10}, PlotPoints -> 1000, PlotRange -> All]
Salida
-Graphics-
Paso 4
psum[i_ ? NumberQ] := NIntegrate[k[x]f[x], {x, i(1/ω) π, (i + 1)(1/ω) π}]

Sin salida - este paso prepara algo para el siguiente.

Paso 5
res = NSum[psum[i], {i, 0, ∞}, Method -> "AlternatingSigns", "VerifyConvergence" -> False]
Salida
0.04928412772506762
Paso 6
exact = Integrate[k[x]f[x], {x, 0, ∞}]//N
Salida
0.05692157040109628
Paso 7
(Abs[exact - res]/Abs[exact])
Salida
0.13417484131607102
Paso 8
resEO = NIntegrate[Sin[ω x]f[x], {x, 0, ∞}, Method -> "ExtrapolatingOscillatory"]
Salida
NIntegrate[Sin[20*x]/(1 + x)^2, {x, 0, Infinity}, Method -> ExtrapolatingOscillatory]
Paso 9
(Abs[exact - resEO]/Abs[exact])
Salida
17.568032521828325*Abs[0.05692157040109628 - NIntegrate[Sin[20*x]/(1 + x)^2, {x, 0, Infinity}, Method -> ExtrapolatingOscillatory]]

Funciones usadas

Recetas relacionadas

Todas las recetas · Referencia de funciones · Usar esto desde un cliente MCP