[運算] quadgk積分運算

作者: ocf001497 (榮)   2018-02-12 20:08:21
大家好,小弟目前想要用quadgk函數來計算下面這個積分
https://imgur.com/jn2YHYx
其中
https://imgur.com/a/BguSY
我預期積分出來的值應該會介於數量級10^(-22)~10^(-23)
程式碼如下 (假設qa=2) :
% parameter
a0 = 1.412 * 10^(-10) ;
a = sqrt(3) * a0 ;
d1 = 3.35 * 10^(-10) ;
del = 0.184*sqrt(3)*a0 ;
g0 = -2.7 ;
g1 = 0.48 ;
% q value
qa = 2 ;
q = qa/(a) ;
% functional form
fun = @(r) 10.^(50).*(besselj(0,q.*r)).*(r.*(
g0.*(1-(d1./r).^2).*exp(-(r-a0)./del)...
+ g1.*(d1./r).^2.*exp(-(r-d1)./del) )) ./(2.*pi) ;
% integration
tq = quadgk(fun,0,inf)
但是出來之後結果是tq=0
我原本想說可能是因為我積分數值都太小,所以我把fun整個scale 10^(50)倍,
但是出來之後結果還是tq=0,我就有點卡住了QQ
想請問各位大大像這種數值比較小的積分要怎麼做才會準呢?
謝謝各位了OTZ
作者: sunev (Veritas)   2018-02-12 20:36:00
不要用SI,用atomic unit

Links booklink

Contact Us: admin [ a t ] ucptt.com