24小时热门版块排行榜    

查看: 764  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

oO小柚子Oo

铁虫 (小有名气)

[求助] 请问怎样改进三重for循环呐?O(∩_∩)O谢谢 已有2人参与

for a=1:101
    for b=1:101
        for c=1:101
            x=-0.8+0.016*(a-1);
            y=-0.8+0.016*(b-1);
            z=-0.8+0.016*(c-1);
            r=[x y z];
            sume=e0*exp(1i*dot(k0,r))+e1*exp(1i*dot(k1,r))+e2*exp(1i*dot(k2,r))+e3*exp(1i*dot(k3,r))+e4*exp(1i*dot(k4,r));
            intensity(a,b,c)=sume*sume';
这里可以怎么改进一下,然后就快了呢?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

oO小柚子Oo

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by mdl9966 at 2016-11-20 15:14:46
OpenMP
Cuda
OpenACC

请问是什么意思呢?

发自小木虫Android客户端
3楼2016-11-20 17:58:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

mdl9966

铁虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
OpenMP
Cuda
OpenACC
2楼2016-11-20 15:14:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
a=[1:101]';
b=[1:101]';
c=[1:101]';
x=-0.8+0.016*(a-1);
y=-0.8+0.016*(b-1);
z=-0.8+0.016*(c-1);
r=[x y z];
sume=e0*exp(1i*dot(k0,r))+e1*exp(1i*dot(k1,r))+e2*exp(1i*dot(k2,r))+e3*exp(1i*dot(k3,r))+e4*exp(1i*dot(k4,r));
intensity(a,b,c)=sume*sume';

4楼2016-11-20 18:20:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huab1984666

新虫 (著名写手)

引用回帖:
4楼: Originally posted by FMStation at 2016-11-20 18:20:50
a=';
b=';
c=';
x=-0.8+0.016*(a-1);
y=-0.8+0.016*(b-1);
z=-0.8+0.016*(c-1);
r=;
sume=e0*exp(1i*dot(k0,r))+e1*exp(1i*dot(k1,r))+e2*exp(1i*dot(k2,r))+e3*exp(1i*dot(k3,r))+e4*exp(1i*dot(k4,r));
...

for i=1:1:101
    x(:,i)=-0.8+0.016*(a(i)-1);
    y(:,i)=-0.8+0.016*(b(i)-1);
    z(:,i)=-0.8+0.016*(c(i)-1);
end
r=[x y z];
sume=e0*exp(1i*dot(k0,r))+e1*exp(1i*dot(k1,r))+e2*exp(1i*dot(k2,r))+e3*exp(1i*dot(k3,r))+e4*exp(1i*dot(k4,r));
intensity(a,b,c)=sume*sume';
春风又绿江南岸,明月何时照我还。
5楼2016-11-21 09:06:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见