我正在为拟合例程编写程序,目前正在优化代码以加快计算速度。弱点是一部分,我必须计算大量的贝塞尔函数,大约需要 0.7 秒。在我的例子中,q 有 177 个条目,th 100 和 R 400。
Js = zeros(numel(th),numel(q)); tR=sin(th')*R;
for k = 1:numel(q)
Js(:,k) = sum(tn.*besselj(0,q(k)*tR),2);
end
我也尝试制作一个 3D-Matrix,但计算时间稍长。
[Q,T,RR]=meshgrid(q,sin(th),R);
Js1 = besselj(0,Q.*T.*RR);
所以,我想知道,有没有办法更快地计算这些贝塞尔函数?提前谢谢,库伊