1

スクリプト内で次を実行すると:

from pylab import *
N_rec = 1000
pt = 0.1
bitstrm = rand(N_rec,1)
bitstrm = (bitstrm<=pt)
hist_strm = histogram(bitstrm,  2)
p_strm = (hist_strm[0])/sum(hist_strm[0]) 
print p_strm

私は得る[0 0]

ただし、コンソールで実行すると、正しい答えが返されます。 [ 0.913 0.087]

ここで何が欠けていますか?ありがとう!

4

1 に答える 1

1

これは、整数配列を分割しているためです。以前に浮動小数点数に変換する必要があります。

>>> from pylab import *
>>> import numpy as np
>>> N_rec = 1000
>>> pt = 0.1
>>> bitstrm = rand(N_rec,1)
>>> bitstrm = (bitstrm<=pt)
>>> hist_strm = histogram(bitstrm,  2)
>>> p_strm = (hist_strm[0]).astype(np.float)/sum(hist_strm[0]) 
>>> print p_strm
[ 0.894  0.106]
于 2013-06-16T08:17:16.550 に答える