加快双环积分的技巧

时间:2015-04-14 02:06:44

标签: matlab

我目前有以下代码:

function v3matrix1 = v3(l,eigendata,sphere)

l0=l;
v3matrix1=zeros(2*l0+1,2*l0+1);

for m0=-l0:1:l0
 for m0p=-l0:1:l0
    fun=@(theta,phi)conj(Ylm(l0,m0,theta,phi)).*(-gamma11(1,eigendata,sphere,theta,phi)).*partialTheta2(l0,m0p,theta,phi).*sin(theta);
    v3matrix1(m0+l+1,m0p+l+1)=integral2(fun,0,pi,0,2*pi);
  end
end

end

跑步需要约21分钟。我试图通过使用“arrayfun”和“meshgrid”删除for循环来遵循类似的建议(Speeding up a double loop over integrals with changing parameter function values in matlab),但这并没有加快速度。我想知道是否有人有任何其他提示或建议可能会加快此代码的速度?

非常感谢你。

0 个答案:

没有答案