Preciso avaliar numericamente a integral abaixo:
onde , e . Aqui é a função de Bessel modificada do segundo tipo. No meu caso particular, tenho , e .x∈R+λ,κ,ν>0Kλ=0,00313κ=0,00825ν=0,33
Estou usando o MATLAB e tentei as funções internas integral
e quadgk
, o que me deu muitos erros (veja abaixo). Naturalmente, tentei várias outras coisas, como integrar por partes e somar integrais de a .( k + 1 ) x π
Então, você tem alguma sugestão sobre qual método devo tentar a seguir?
ATUALIZAÇÃO (perguntas adicionadas)
Li o artigo @Pedro vinculado e não acho que seja muito difícil de entender. No entanto, tenho algumas perguntas:
- Seria bom usar como os elementos base , no método univariado de Levin descrito?ψ k
- Em vez disso, eu poderia apenas usar um método Filon, já que a frequência das oscilações é fixa?
Código de exemplo
>> integral(@(r) sin(x*r).*sqrt(E(r)),0,Inf)
Warning: Reached the limit on the maximum number of intervals in use. Approximate
bound on error is 1.6e+07. The integral may not exist, or it may be difficult to
approximate numerically to the requested accuracy.
> In funfun\private\integralCalc>iterateScalarValued at 372
In funfun\private\integralCalc>vadapt at 133
In funfun\private\integralCalc at 84
In integral at 89
ans =
3.3197e+06