在操场上,我正在尝试使用以下代码为正态分布生成随机数:
import UIKit
import GameplayKit
var mu: Double = 0
var random: Double = 0
for i in 1...1000 {
let random = GKRandomSource()
mu = GKGaussianDistribution(randomSource: random, mean: Float(0.0), distribution: Float(1.0))
print(mu)
}
这将无法编译,我收到以下错误消息:“参数标签'(randomSource :, Mean :, distribution :)'与任何可用的重载都不匹配”
这是什么意思,我该如何纠正代码?
答案 0 :(得分:2)
您的代码有几个问题,参数称为deviation
,而不是distribution
,并且Distribution对象本身不返回随机数。
尝试以下方法:
import GameplayKit
let random = GKRandomSource()
let dist = GKGaussianDistribution(randomSource: random, mean: 0, deviation: 1.0)
for _ in 1...1000 {
let mu = dist.nextUniform()
print(mu)
}