不器用さを実装する
あなたが書いたこのきれいなコードなら、ランダムウォークをシミュレーションする回数を変更するのはとても簡単です。一番外側のforループにあるrange()関数を更新するだけです。
まだ忘れていることがあります!あなたは少し不器用なので、0.5%の確率で転んでしまいます。そのため、もう一度乱数を生成する必要があります。基本的には、0以上1未満のランダムな浮動小数点数を生成できます。この値が0.005以下の場合、stepを0にリセットします。
この演習はコースの一部です
Python中級
演習の手順
- シミュレーションが20回実行されるように、
range()関数を変更します。 - ランダムな浮動小数点数が0.005以下の場合に
stepが0に設定されるよう、if条件を完成させます。np.random.rand()を使用します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# numpy and matplotlib imported, seed set
# clear the plot so it doesn't get cluttered if you run this many times
plt.clf()
# Simulate random walk 20 times
all_walks = []
for i in range(5) :
random_walk = [0]
for x in range(100) :
step = random_walk[-1]
dice = np.random.randint(1,7)
if dice <= 2:
step = max(0, step - 1)
elif dice <= 5:
step = step + 1
else:
step = step + np.random.randint(1,7)
# Implement clumsiness
if ___ :
step = 0
random_walk.append(step)
all_walks.append(random_walk)
# Create and plot np_aw_t
np_aw_t = np.transpose(np.array(all_walks))
plt.plot(np_aw_t)
plt.show()