【发布时间】:2015-11-23 05:12:03
【问题描述】:
数据集可以通过以下方式近似:
total_elements = 1e6;
maximum_value = 1e13;
mySet = randperm(maximum_value,total_elements);
或一百万个唯一随机值,按从低到高的顺序排列,值范围为 1 到 1e13。
只有N-2000:1:N+2000(其中N = 7000:7000:1e13)范围内的值实际上是有用的。是否有一种快速且内存高效的方法来生成 MatLab 中所有有用事件的矩阵列表? For 循环是一种显而易见的方法,但速度很慢。数组的大小意味着在进程中生成更大数组的方法往往会由于内存不足而失败。
【问题讨论】:
-
我们不应该使用您的代码的另一个原因是您覆盖了
set函数。另外,请查看randperm的帮助。你不想randperm(maximum_value,total_elements)吗? -
@horchler 我希望我能给 +2!罗斯,我已经更新了这个问题,以防止对实际目标的干扰。我希望没问题。