作者ocf001497 (荣)
看板MATLAB
标题[运算] quadgk积分运算
时间Mon Feb 12 20:08:21 2018
大家好,小弟目前想要用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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.109.112.227
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1518437303.A.079.html
1F:推 sunev: 不要用SI,用atomic unit 02/12 20:36