Devo valutare numericamente l'integrale di seguito:
dove ,x∈R+eλ,κ,ν>0. QuiKè la funzione di Bessel modificata del secondo tipo. Nel mio caso particolare hoλ=0,00313,κ=0,00825eν=0,33.
Sto usando MATLAB e ho provato le funzioni integrate integral
e quadgk
, il che mi dà molti errori (vedi sotto). Ho naturalmente provato anche molte altre cose, come l'integrazione per parti e la somma degli integrali da a ( k + 1 ) x π .
Quindi, hai qualche suggerimento su quale metodo dovrei provare dopo?
AGGIORNAMENTO (domande aggiunte)
Ho letto l'articolo a cui @Pedro è collegato e non credo che sia stato troppo difficile da capire. Tuttavia, ho alcune domande:
- Andrebbe bene usare come elementi base ψ k , nel metodo univariato di Levin descritto?
- Potrei invece usare solo un metodo Filon, poiché la frequenza delle oscillazioni è fissa?
Codice di esempio
>> 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