24小时热门版块排行榜    

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

ll20100996

禁虫 (知名作家)

本帖内容被屏蔽

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

superstat54

木虫 (小有名气)

【答案】应助回帖

ll20100996(金币+2): 我用fortran编了,快一倍。呵呵 2011-06-22 08:56:39
高效的Matlab程序,尽量避免使用循环语句,更多的采用向量化的编程方式,即使用矩阵。修改如下:
clear;
tic
N=10;tn=4E4;a=3.905E-10;b=3.905E-10;c=4.2E-10;K0=0; n3=4-1;
            for n1=1:tn
                n2=1:n1-1;
                K01=2*a*b*c*(3*n3^2*c^2./(n1^2*a^2+n2.^2*b^2+n3^2*c^2)-1)./((n1^2*a^2+n2.^2*b^2+n3^2*c^2).^1.5*2*pi*8.85E-12);
                K0 = K0 - sum(K01);
                K0=K0-a*b*c*(3*n3^2*c^2/(n1^2*a^2+n1^2*b^2+n3^2*c^2)-1)/((n1^2*a^2+n1^2*b^2+n3^2*c^2).^1.5*2*pi*8.85E-12);
            end
            n1=1:tn;
            K02=a*b*c*(3*n3^2*c^2./(n1.^2*a^2+n3^2*c^2)-1)./((n1.^2*a^2+n3^2*c^2).^1.5*2*pi*8.85E-12);%n2=0 Or b=0
            K0 = K0 - sum(K02);
            K0=K0-a*b*c*(3*n3^2*c^2/(n3^2*c^2)-1)/((n3^2*c^2)^1.5*8*pi*8.85E-12)
toc;
对比:
tn=4E3,
原程序:
时间:2.550174 seconds,K0=-6.8388e+006;
修改后,时间:2.190174 seconds,K0=-6.8388e+006;

tn=4E4,
原程序,运行N久,没有等到结果就放弃了
修改后,时间155 s, K0 = -6.85e+005
tn=4E5时,你自己尝试一下吧,运行时间估计随tn成平方关系增长。
7楼2011-06-21 23:55:42
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖


ll20100996(金币+1): 我试过,可是数组太大,电脑不支持啊!~还是谢谢啦! 2011-06-15 12:05:03
dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-15 23:10:34
matlab循环很慢,fortran相比要快得多。可以考虑把循环拆开换成数组运算,会有一定提高。
2楼2011-06-15 11:18:17
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

【答案】应助回帖


ll20100996(金币+1): 我会考虑下你的建议。可是我的C基础不好,如何并行化也不清楚啊!能否具体说下呢?非常感谢! 2011-06-15 12:06:23
jjdg(金币+1): 感谢支招 2011-06-15 12:18:50
用C重写,而且这段代码可以很大程度地并行化咯。
嗯,提高1024倍没问题咯。
3楼2011-06-15 11:41:33
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

coolrainbow

木虫 (著名写手)

未来国家冻凉


jjdg(金币+1): 感谢支招 2011-06-15 12:19:01
改成C后,把^2 改成*,然后用openmp来并行下,很简单的
技术博客:http://hi.baidu.com/coolrainbow/blog
4楼2011-06-15 12:10:21
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 化学工程321分求调剂 +9 大米饭! 2026-03-15 12/600 2026-03-16 21:59 by 大米饭!
[考研] 085601求调剂 +3 Du.11 2026-03-16 3/150 2026-03-16 20:42 by 无际的草原
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
[考研] 070303一志愿西北大学学硕310找调剂 +5 d如愿上岸 2026-03-12 8/400 2026-03-16 15:19 by peike
[考研] 材料与化工专硕调剂 +3 heming3743 2026-03-16 3/150 2026-03-16 15:05 by peike
[考博] 欢迎申博同学联系 +3 天道酬勤2026686 2026-03-10 7/350 2026-03-15 19:03 by 天道酬勤2026686
[考研] 308 085701 四六级已过求调剂 +7 温乔乔乔乔 2026-03-12 14/700 2026-03-14 10:49 by JourneyLucky
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-10 3/150 2026-03-14 00:12 by JourneyLucky
[考研] 0703,333分求调剂 一志愿郑州大学-物理化学 +3 李魔女斗篷 2026-03-11 3/150 2026-03-13 22:24 by JourneyLucky
[考研] 四川大学085601材料工程专硕 初试294求调剂 +4 祝我们好在冬天 2026-03-11 4/200 2026-03-13 21:39 by peike
[考研] 【考研调剂求收留】 +3 Ceciilia 2026-03-11 3/150 2026-03-13 20:18 by JourneyLucky
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
[考研] 302求调剂 +6 负心者当诛 2026-03-11 6/300 2026-03-13 16:11 by JourneyLucky
[考研] 307求调剂 +5 超级伊昂大王 2026-03-12 5/250 2026-03-13 15:56 by 棒棒球手
[考研] 290求调剂 +7 ADT 2026-03-12 7/350 2026-03-13 15:17 by JourneyLucky
[考研] 274求调剂 +3 S.H1 2026-03-12 3/150 2026-03-13 15:15 by JourneyLucky
[考研] 求调剂材料专硕293 +6 段_(:з」∠)_ 2026-03-10 6/300 2026-03-10 18:22 by ms629
[考研] 0703化学调剂 +3 三dd. 2026-03-10 3/150 2026-03-10 15:45 by peike
[考研] 一志愿:武汉理工,材料工程,英二数二 总分314 +3 2202020125 2026-03-10 4/200 2026-03-10 13:54 by xiongyaxuan
信息提示
请填处理意见