เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

พล็อตการกระจายของข้อมูล

การสร้างภาพข้อมูลต่าง ๆ ทำให้เราออกนอกเรื่องไปนิดหน่อย แต่ยังมีโจทย์สำคัญที่ต้องแก้: โอกาสที่จะขึ้นไปถึงขั้นที่ 60 ของตึก Empire State Building คือเท่าไร?

สิ่งที่ต้องการรู้คือจุดปลายทางของ Random Walk ทั้งหมดที่จำลองไว้ จุดเหล่านี้มีการกระจายในลักษณะหนึ่ง ซึ่งสามารถแสดงผลได้ด้วยฮิสโตแกรม

หากโค้ดรันนานผิดปกติ อาจเป็นเพราะกำลังพล็อตฮิสโตแกรมจากข้อมูลผิดชุด ลองตรวจสอบดู

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python ระดับกลาง

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เพื่อให้มีจำนวนการจำลองเพียงพอ ให้เพิ่มรอบการจำลอง Random Walk เป็น 500 ครั้ง
  • จาก np_aw_t ให้เลือกแถวสุดท้าย ซึ่งเก็บจุดปลายทางของ Random Walk ทั้ง 500 รอบ แล้วเก็บผลลัพธ์ที่ได้เป็น NumPy array ชื่อ ends
  • ใช้ plt.hist() สร้างฮิสโตแกรมของ ends แล้วอย่าลืมเรียก plt.show() เพื่อแสดงกราฟ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# numpy and matplotlib imported, seed set

# Simulate random walk 500 times
all_walks = []
for i in range(500) :
    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)
        if np.random.rand() <= 0.001 :
            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))

# Select last row from np_aw_t: ends
____ = ____[____,____]

# Plot histogram of ends, display plot
____
____
แก้ไขและรันโค้ด