MatLab 代码优化 Fast your MatLab code. (3) 预先给数组分配内存

matlab矩阵变量有可变化的行数和列数。

比如:


matlab可以自动变化矩阵的维数。这时,matlab需要分配给矩阵更多的内存。

如果在一个循环中,有矩阵不断变化着自己的维数,重新分配内存将十分耗时。

为了避免重复分配内存,可以先将内存分配好,再进行运算。


上面这段代码运行时间为0.47s.

下面用zeros函数预先分配好内存,这样的代码为:


这时,再运行这段代码,运行时间为:0.14s.

预分配内存同样适用于cell数组, 用cell函数可以直接先创建所需大小的cell数组。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务