matlab parfor 慢,matlab parfor导致比for循环更长的执行时间

我有一个三维网格,其中对于网格的每个点,我想要计算大量时间步长的时间相关函数G(t),然后求和每个网格点的G函数。使用4 for循环执行时间变得非常大,所以我试图避免使用parfor。

我的代码的一部分:

for i=1:50

for j=1:50

for k=1:25

x_in=i*dx;

y_in=j*dy;

z_in=k*dz;

%dx,dy, dz are some fixed values

r=sqrt((xx-x_in).^2+(yy-y_in).^2+(zz-z_in).^2);

%xx,yy,zz are 50x50x25 matrices generated from meshgrid

% r is a 3d matrix which produced from a 3 for-loop, for all the points of grid

parfor q=1:100

t=0.5*q;

G(q)=((a*p)/(t.^1.5)).*(exp(-r.^2/(4*a*t)));

% a,p are some fixed values

end

GG(i,j,k)=sum(G(:));

end

end

end当我使用parfor时,执行时间变得更长,我不确定为什么会发生这种情况。也许我不太熟悉parfor循环中的切片和索引变量。

我的电脑处理器有8个线程和RAM内存ddr3 8GB

任何帮助都会很棒。

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值