Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ tạo số ngẫu nhiên dùng hàm phân phối xác suất


Hàm mật độ xác suất (pdf - Probability Density Function) là một hàm mô tả khả năng tương đối để biến ngẫu nhiên này nhận một giá trị cho trước. Nó còn được gọi là mật độ của một biến ngẫu nhiên liên tục.

Xác suất biến ngẫu nhiên rơi trong một khoảng giá trị cụ thể được cho bởi tích phân của mật độ biến đó trên khoảng đó. Do đó, nó được cho bởi diện tích dưới đường mật độ nhưng trên trục hoành và giữa giá trị nhỏ nhất và lớn nhất của khoảng. Phân phối xác suất dựa trên hàm mật độ xác suất này.

Thuật toán

Bắt đầu
    Khai báo n
    Gán pdf = 0
    For i = 0 đến n
        pdf = rand() mod 200
        If pdf lớn hơn 360
            In 1
        Else if pdf nhỏ hơn 0
            In 0
        Else
            In pdf * 0.1 / 360
Kết thúc

Mã ví dụ

#include <iostream>
using namespace std;

int n = 6;

int main(int argc, char **argv) {
    int pdf = 0;
    for (int i = 0; i < n; i++) {
        pdf = rand() % 200;
        if (pdf > 360)
            cout << 1 << " ";
        else if (pdf < 0)
            cout << 0 << " ";
        else
            cout << pdf * 0.1 / 360 << " ";
    }
    cout << "...";
}

Kết quả đầu ra

0.0508333 0.0238889 0.0491667 0.0319444 0.0536111 0.0375 ...