我有一个有365个元素的数组。每个指数都可以看作是过去一年中的某一天。存储在每个索引中的值表示当天购买商品的次数。array是365天前购买一件物品的次数,array364是到目前为止一件物品被购买的次数。
好的,所以我想做的是用随机值填充数组。但是,我想模拟真实世界的数据。如果我只是使用随机数,一件商品可能一天购买80次,第二天购买2次,这是不现实的。我想知道是否有一种方法可以使用算术平均值、标准差、回归、相关或类似的工具来使用Javascript快速生成具有真实数据模拟的数组。
发布于 2015-10-06 23:33:58
您可以使用math.random并将值限制在某个范围内
var days = [];
var max = 80;
var min = 50;
for(var i=0;i<365;i++){
days[i] = Math.floor(Math.random() * (max - min + 1)) + min;
}
alert(days);
https://jsfiddle.net/7daffjh8/16/
如果下一个值必须在前一个值的x范围内,请尝试以下方法
var days = [80];
var max = 5;
var min = -5;
for(var i=1;i<365;i++){
var difference = Math.floor(Math.random() * (max - min + 1)) + min;
days[i] = days[i-1] + difference;
}
alert(days);
https://stackoverflow.com/questions/32973912
复制相似问题