2

I can define my data structure by two different ways:

Number 1:

for i = 1:3, matrix.a{1,i} = rand(1,2000000); end
for i = 1:3, matrix.a{2,i} = rand(1,2000000); end
for i = 1:3, matrix.g{2,i} = rand(1); end
for i = 1:3, matrix.g{1,i} = rand(1); end

Number 2:

for i = 1:3, matrix2(1,i).a = rand(1,2000000); end
for i = 1:3, matrix2(2,i).a = rand(1,2000000); end
for i = 1:3, matrix2(1,i).g = rand(1); end
for i = 1:3, matrix2(2,i).g = rand(1); end

Is one of them a much more efficient way?

Thanks!

4

2 回答 2

2

检查whos matrix matrix2,这将向您显示两种替代方案的内存使用情况。

无需过多考虑,它应该非常相似 - 它肯定与随机数所需的内存相比。

于 2013-11-14T10:37:09.200 回答
1

没有太大的区别,都包含 6 个矩阵和 2 000 000 个元素,这是重要的部分,没有变化。您可以将代码tic toc(没有显着差异。whosx=rand(6,2000001)

于 2013-11-14T10:45:11.260 回答