私はコードの最初に立ち往生しているので、私は本当に助けが必要です。Pythonの指数分布ランダムジェネレータ(ログ関数)?
ヒストグラムの指数分布を調べる関数を作成するように求められます。関数はx = -log(1-y)/λです。 λは定数であり、コード中のlamdrと呼ばれ、単純に10を与えた。私はN(乱数の数)10を与え、コードを実行したが、結果と生成された乱数はまったく異なる結果をもたらした。あなたはコードを見つけることができます、私は間違っていたか分からない、あなたが私を助けることができることを願って!あなたが提供されているコードを表示した後
import random
import math
N = raw_input('How many random numbers you request?: ')
N = int(N)
lamdr = raw_input('Enter a value:')
lamdr = int(lamdr)
def exprand(lamdr):
y = []
for i in range(N):
y.append(random.uniform(0,1))
return y
y = exprand(lamdr)
print 'Randomly generated numbers:', (y)
x = []
for w in y:
x.append((math.log((1 - w)/lamdr)) * -1)
print 'Results:', x
とは何ですか?あなたはそれを2回実行し、毎回異なる結果を得ることを意味しますか? –
乱数と2つのリストが得られますが、これは与えられた式に依存しますが、一致しません。例えば、ランダムに生成されたy値のx値が完全に得られます – aleatha
'lambdr'あなたの 'random.uniform()'のシード値を呼び出しますか?もしそうなら 'random.seed(lambdr)'で最初にシードする必要があります。次に、指定された 'lambdr'値に対して同じシーケンスの数字が得られます。上記の – eddiem