冪分布の生成
どうやるのが一番簡単だろう?
[0..1]の乱数を10回ぐらい掛け算するとそれらしくなる 増井俊之.icon
これが一番簡単?
code:beki.js
function setup(){
values = []
createCanvas(400,400)
strokeWeight(0)
}
function draw(){
value = 1.0
for(i=0;i<10;i++){ value *= random() }
values.push(value)
values = values.sort((a,b) => b-a)
fill('#ddd'); rect(0,0,400,400)
for(i=0;i<values.length;i++){
fill('#00f'); rect(i,400-valuesi*10000,2,2) fill('#f00'); rect(50*Math.log(i),
300-10*Math.log(valuesi),2,2) }
}
----以下は間違いなので注意----
乱数を何回か足すと作れる気がする shokai.icon
code:beki.js
const results = []
for (let i = 0; i < 1000; i++) {
let sum = 0
for (let j = 0; j < 3; j++) {
sum += Math.random()
}
sum = Math.floor(sum * 5)
if (!resultssum) resultssum = 0 }
console.log(results)
結果 [ 6, 3, 26, 60, 78, 134, 128, 140, 135, 118, 86, 48, 28, 8, 2 ]
乱数を足したら正規分布に近づくんだけど 増井俊之.icon へー shokai.icon