查看: 405|回复: 1|关注: 0

[已答复] 一个循环有100个函数值需要计算,但彼此是相互独立的,请问如何提高计算速度?比如将这100个函数值同时计算,用并行计算吗?谢谢!

[复制链接]

新手

7 麦片

财富积分


050


2

主题

3

帖子

0

最佳答案
发表于 2020-2-14 12:47:19 | 显示全部楼层 |阅读模式
本帖最后由 zhimages 于 2020-2-14 12:51 编辑

    请问类似于下面的这个程序,我要在一个循环里面计算100个function的值,计算每一个function的值大概需要10分钟,如果全部计算下来的话大概就需要3个小时,因为我有好多这样的循环要求解,所以时间会非常长。

for i=1:100
   f(i)=function(a,b,c);
end

    当我打开两个matlab窗口的时候,我在10分钟里面就可以计算两个function的值;开三个窗口的时候,大概11分钟可以计算三个function的值。但是像上面这种循环的话,我现在无法同时打开好几个窗口一起计算,只能从1到100慢慢算,这样太耗费时间了。
    所以请问大家,有什么办法能够加快计算速度的?能否在计算循环的时候同时打开多个matlab窗口,或者怎么使用并行计算提高计算效率?
    谢谢!

回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

19

主题

2401

帖子

492

最佳答案
  • 关注者: 96
发表于 2020-2-15 11:21:51 | 显示全部楼层
并行的话使用parfor,可以去看看文档。
多看帮助文档
说明你的matlab版本
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表