why_not 发表于 2007-3-19 21:16

请教高手,如何提高运行速度?

最近编了个计算程序,用profile看到主要时间消耗在一个三维数组的数据搬移中。

我要保留一个平面区域最近一段时间内的数据,按照先进先出的原则。我用了三维数组a(time,X,Y),每计算一个新时刻的数据,需要将以前的数据移动一下,编程如下
history(1:time-1,:,:)=history(2:time,:,:);
history(time,:,:)=newdata;
结果发现一半的时间消耗在第一句上。

请教高手,有什么好的改进方法吗?

eight 发表于 2007-3-19 22:58

原帖由 why_not 于 2007-3-19 21:16 发表
最近编了个计算程序,用profile看到主要时间消耗在一个三维数组的数据搬移中。

我要保留一个平面区域最近一段时间内的数据,按照先进先出的原则。我用了三维数组a(time,X,Y),每计算一个新时刻的数据,需要将 ...

建议阅读本版几个精华贴,看看有没有收获

why_not 发表于 2007-3-20 22:59

发帖前看了一下,好像没有相关的

是否matlab中使用三维数组很费时?不知道怎么才能用好它。

eight 发表于 2007-3-21 00:01

原帖由 why_not 于 2007-3-20 22:59 发表
是否matlab中使用三维数组很费时?不知道怎么才能用好它。


的确很费时


先看看这个,看有否启发:[原创]再谈Matlab的多维数组问题

why_not 发表于 2007-3-23 23:55

谢谢!学习试验中……

有了结果再来……
页: [1]
查看完整版本: 请教高手,如何提高运行速度?