24小时热门版块排行榜    

查看: 2833  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 cqv1zKnzd7hr 2026-11-09 4/200 2026-11-10 11:46 by YHiw1gou1Eda
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 cqv1zKnzd7hr 2026-11-09 4/200 2026-11-10 11:35 by YHiw1gou1Eda
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 0TEMgxdT1eIw 2026-11-09 4/200 2026-11-10 11:02 by YHiw1gou1Eda
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 zSbvVX9JFl9J 2026-11-09 4/200 2026-11-10 01:29 by FChKX8meu1ds
[考博] 27博士申请 +3 白白白ly 2026-11-09 3/150 2026-11-09 21:39 by szq0819
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 kvewwGtKktqB 2026-11-04 12/600 2026-11-09 13:26 by Equinoxhua
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ttH3f1oA6ace 2026-11-04 15/750 2026-11-09 13:19 by Equinoxhua
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +6 5sJFDKp2kwuI 2026-11-06 14/700 2026-11-09 11:52 by GwrQVVR6Oenx
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 5sJFDKp2kwuI 2026-11-06 10/500 2026-11-09 08:00 by IhnEQauGmT3K
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 5sJFDKp2kwuI 2026-11-06 8/400 2026-11-09 00:14 by l48hFd8Nwae2
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 5sJFDKp2kwuI 2026-11-06 8/400 2026-11-08 23:01 by l48hFd8Nwae2
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 5sJFDKp2kwuI 2026-11-06 9/450 2026-11-08 22:46 by l48hFd8Nwae2
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 ttH3f1oA6ace 2026-11-04 10/500 2026-11-06 16:12 by 5sJFDKp2kwuI
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +6 ttH3f1oA6ace 2026-11-04 12/600 2026-11-06 16:10 by 5sJFDKp2kwuI
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 ttH3f1oA6ace 2026-11-04 11/550 2026-11-06 16:10 by 5sJFDKp2kwuI
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 kvewwGtKktqB 2026-11-04 16/800 2026-11-06 05:00 by qL1cU46YIdK0
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ttH3f1oA6ace 2026-11-04 7/350 2026-11-06 02:13 by qL1cU46YIdK0
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 ttH3f1oA6ace 2026-11-04 10/500 2026-11-06 02:04 by qL1cU46YIdK0
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ttH3f1oA6ace 2026-11-04 9/450 2026-11-06 02:02 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 hNpp4Y2CGvSC 2026-11-04 12/600 2026-11-06 01:53 by qL1cU46YIdK0
信息提示
请填处理意见