Bắt đầu ngayBắt đầu miễn phí

Vẽ phân phối

Tất cả những hình ảnh trực quan “xịn sò” này đã khiến chúng ta hơi lạc đề. Ta vẫn còn phải giải bài toán triệu đô: Khả năng bạn đạt đến 60 bậc trên tòa Empire State là bao nhiêu?

Về cơ bản, bạn muốn biết về các điểm kết thúc của tất cả các bước đi ngẫu nhiên mà bạn đã mô phỏng. Những điểm kết thúc này có một phân phối nhất định mà bạn có thể trực quan hóa bằng biểu đồ tần suất (histogram).

Lưu ý: nếu mã của bạn chạy quá lâu, có thể bạn đang vẽ histogram cho dữ liệu không đúng!

Bài tập này là một phần của khóa học

Python nâng cao

Xem khóa học

Hướng dẫn bài tập

  • Để đảm bảo có đủ số lần mô phỏng, hãy mạnh tay lên. Mô phỏng bước đi ngẫu nhiên 500 lần.
  • Từ np_aw_t, chọn hàng cuối. Hàng này chứa điểm kết thúc của toàn bộ 500 bước đi ngẫu nhiên bạn đã mô phỏng. Lưu mảng NumPy này vào ends.
  • Dùng plt.hist() để vẽ histogram của ends. Đừng quên plt.show() để hiển thị biểu đồ.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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
____
____
Chỉnh sửa và Chạy Mã