24小时热门版块排行榜    

查看: 2197  |  回复: 9

ll20100996

禁虫 (知名作家)

本帖内容被屏蔽

» 猜你喜欢

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

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

锐利的碎片

木虫 (正式写手)

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的回帖

ll20100996

禁虫 (知名作家)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-15 23:10:44
本帖内容被屏蔽

5楼2011-06-15 12:13:05
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

smithjohn

金虫 (正式写手)

【答案】应助回帖


微尘、梦想(金币+1): 鼓励交流! 2011-06-20 19:47:11
ll20100996(金币+1): 2011-06-22 08:54:10
matlab的优势在于矩阵,不在循环。
6楼2011-06-20 17:39:43
已阅   关注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的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主


dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-23 11:00:42
弄过C的就喜欢用循环

你要琢磨用矩阵处理,避免循环,就可以加快速度

否则就直接用C写
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
8楼2011-06-22 10:28:13
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yy3780

木虫 (著名写手)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-23 11:00:50
引用回帖:
Originally posted by woshilsh at 2011-06-22 10:28:13:
弄过C的就喜欢用循环

你要琢磨用矩阵处理,避免循环,就可以加快速度

否则就直接用C写

赞同
9楼2011-06-23 09:39:58
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

leehom8851

银虫 (小有名气)

循环相对于矩阵运算满太多,试试直接矩阵运算~~
骄傲的走自己的路~
10楼2013-04-01 08:13:50
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ll20100996 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 能源材料化学课题组招收硕士研究生8-10名 +4 脱颖而出 2026-03-16 10/500 2026-03-18 20:59 by 脱颖而出
[考研] 0703化学调剂 +7 妮妮ninicgb 2026-03-15 11/550 2026-03-18 19:48 by macy2011
[考研] 26调剂/材料/英一数二/总分289/已过A区线 +7 步川酷紫123 2026-03-13 7/350 2026-03-18 17:12 by 尽舜尧1
[考研] 286求调剂 +6 lemonzzn 2026-03-16 9/450 2026-03-18 15:31 by vgtyfty
[教师之家] 焦虑 +8 水冰月月野兔 2026-03-13 12/600 2026-03-18 15:27 by 咪呜喵呜
[考研] 070300化学319求调剂 +6 锦鲤0909 2026-03-17 6/300 2026-03-18 13:22 by Iveryant
[考研] 307求调剂 +3 冷笙123 2026-03-17 3/150 2026-03-18 09:55 by macy2011
[考研] 296求调剂 +5 大口吃饭 身体健 2026-03-13 5/250 2026-03-17 21:05 by 不惑可乐
[考研] 26考研求调剂 +6 丶宏Sir 2026-03-13 6/300 2026-03-17 16:13 by 醉在风里
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 材料与化工专硕调剂 +5 heming3743 2026-03-16 5/250 2026-03-17 14:03 by 勇敢太监王公公
[考研] 考研调剂 +3 淇ya_~ 2026-03-17 5/250 2026-03-17 09:25 by Winj1e
[考研] 283求调剂 +3 听风就是雨; 2026-03-16 3/150 2026-03-17 07:41 by 热情沙漠
[考研] 327求调剂 +6 拾光任染 2026-03-15 11/550 2026-03-15 22:47 by 拾光任染
[考研] 080500,材料学硕302分求调剂学校 +4 初识可乐 2026-03-14 5/250 2026-03-14 21:08 by peike
[考研] 材料与化工(0856)304求B区调剂 +6 邱gl 2026-03-12 7/350 2026-03-13 23:24 by 邱gl
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
[考研] 求调剂 +5 一定有学上- 2026-03-12 5/250 2026-03-13 18:31 by ms629
[考研] 085600材料与化工 309分请求调剂 +7 dtdxzxx 2026-03-12 8/400 2026-03-13 14:43 by jxchenghu
信息提示
请填处理意见