24小时热门版块排行榜    

查看: 2570  |  回复: 13

duhb655

金虫 (著名写手)

引用回帖:
10楼: Originally posted by jerkwin at 2014-03-27 22:31:28
运行了下你的程序, 确实很慢
在不改代码的情况下最简单的加速方法就是使用多核
把for循环改为parfor
还有, 输出不要写xls文件, 直接写文本文件
不是很了解原理, 不能估计改为fortran能加速多少
而且改成fortra ...

谢谢,我是PARFOR运行的,8核,一个站7-8分钟,我不用EXCEL也挺慢,我想了想,应该主要还是里面的循环的事,循环太大太多,MATLAB优势在于矩阵,FORTRAN优势就在于循环,我想FORTRAN应该能加速吧,??
11楼2014-03-27 22:44:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duhb655

金虫 (著名写手)

引用回帖:
10楼: Originally posted by jerkwin at 2014-03-27 22:31:28
运行了下你的程序, 确实很慢
在不改代码的情况下最简单的加速方法就是使用多核
把for循环改为parfor
还有, 输出不要写xls文件, 直接写文本文件
不是很了解原理, 不能估计改为fortran能加速多少
而且改成fortra ...

写XLS文件慢主要是因为每写一次就要打开EXCEL程序并关了EXEL程序,这是XLS慢的主要原因,特别是读或写的EXCEL表多或表内SHEET多时,这个慢的效果就很明显了,不过有专们解决多个SHEET这种慢的程序,如果你要的话可以给你。FORTRAN不方便的一点就在于您说的,很多都得自己写,不知道谁能帮帮我啊。
12楼2014-03-28 00:19:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

看你还算好学, 也很有礼貌
可以站内联系下我
13楼2014-03-28 07:28:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duhb655

金虫 (著名写手)

★ ★ ★ ★ ★
nono2009: 金币+5, 鼓励交流 2014-04-04 07:05:23
感谢jerkwin老师.
现在情况是这样: 我不再把程序改成FORTRAN语言了, 还是用MATLAB. 那天看到jerkwin老师说得优化,我以前觉得我的程序不能再优化了,但实际上我错了,前天我再仔细研究我的程序,最可能优化的地方只有在了程序中,突然想到一个事,就是MATLAB函数库的调用。因为我的for循环比较多,子程序是100左右*2000左右的套嵌for循环,内循环调用了polyfit和polyval两个程序。我找到polyfit这个程序,把它改了改,只有四五行就能满足我这个程序里的polyfit要求,因此不再调用polyfit函数,这样一来,惊喜!提速4-5倍!今天上午和jerkwin老师语音,又提到能矩阵运行就矩阵运行,能单循环就单循环。我想了想,矩阵运行可能实现不了,就把子程序的两层套嵌for循环想办法改成了一个循环,这样以来,又稍微提速了些。现在总的来说提速了7-8倍吧,所以就不再改fortran了。这也总结了两点:
1,在matlab里,如果套嵌循环太多使运行速度太慢的话,尽量想办法减少套嵌次数;
2,觉得很重要的一点(当然是对我这样的菜鸟来说的),是这次偶然发现的,当循环太慢时,多注意循环中直接调用的matlab函数。matlab函数库里的函数是针对所以用户的大众函数,有很多条件,有时循环多了就会导致程序很慢,这时就去分析你调用的函数,在满足你自己运算的条件下把它改得简单点,说不定能很明显地提速。
感谢楼上几位朋友。jerkwin老师就2400分了,其他100分。谢谢。
14楼2014-03-29 16:08:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 duhb655 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 这样的filecode谁见过 +3 布布和一二 2026-08-08 5/250 2026-08-08 12:22 by 仁砚薪传
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +4 a089 2026-08-07 4/200 2026-08-08 12:15 by arzu_hma
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 6/300 2026-08-08 10:19 by 3OOjAIS77qg2
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 08:59 by 6vVgjDL4CnGu
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 08:27 by 6vVgjDL4CnGu
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[基金申请] 关于豆爷回答的JTJC与%2F数量 +4 yang182083 2026-08-06 6/300 2026-08-07 12:43 by 虫友是什么虫
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见