間の確率で値を返すためにどのように私はこのようなSTHを持っている:のpython、scipyのダウンロード - 2つの値
empty=0
full=1
burn=2
myprob=0.7
if cell==burn:
return (empty or full) with probability myprob
は、どのように私はそれを行うことができますか? ありがとう!
間の確率で値を返すためにどのように私はこのようなSTHを持っている:のpython、scipyのダウンロード - 2つの値
empty=0
full=1
burn=2
myprob=0.7
if cell==burn:
return (empty or full) with probability myprob
は、どのように私はそれを行うことができますか? ありがとう!
表現
numpy.random.random() < myprob
は確率myprob
でTrue
と評価されます。整数として解釈False
とTrue
が0
と1
なので、あなたは、与えられた確率を持つ2つの与えられた値の間で選択することが
[empty, full][numpy.random.random() < myprob]
を使用することができます。 empty
とfull
の特定の値の場合、最初の式は基本的に同じです。empty
とfull
がそれぞれ0
と1
でない場合は、2番目の式が必要になります。
私は本当にあなたの質問を理解していない。あなたのコードで:
return (empty or full) with probability myprob
(empty or full) #will always be 1
だから私つもりだ何をしたいことは何かであると仮定します。回の
0.7 = 70%が倍の 空0.3 = 30%がフル
を返す返しますこれはあなたが望むものである場合、すべてを行う必要がある:
from random import random
if cell==burn:
return (random() > my_prob)
random()
は0-> 1の間の数を返します。 0/1と異なる値がempty
とfull
の場合は、if
の条件を追加してください。
:お返事ありがとうございます。私はそれが好きだった[空、完全] [numpy.random.random()
http://docs.python.org/library/randomをご覧になり、何かを手に入れることができるかどうかを確認してください。 –
これは可能な限り素敵な方法でこれを意味しますが、ここで* 87 *の質問をした後で、スタックオーバーフローに関する良い質問を構成するものと質問を表現する方法の両方について少し理解し始めたでしょう。それがあなたが何を求めているのかを簡単に理解し、あなたに関連する答えを与えることができます。私はあなたにこのコメントを読んでからすぐにあなたの質問を読んでほしいと思うかもしれませんし、他の誰かがあなたが尋ねていることをとても気まぐれなアイデアを得ることができるようにそれを編集する方法について考えるかもしれません。 – talonmies
@タロニミーズ:私はできる限り良く書くようにしています。しかし、それはいつも可能ではありません。しかし、いくつかは私が尋ねたいものを理解しているようです。私は "クリア"だったと思います。私はそれをコードの中に入れていたので誤解されるかもしれませんか?あなたのコメントの後で、私はより良くしようとします!難しい気持ちはなく、常に私の質問、私のコードなどについて私に訂正してください。 – George