Computer >> Máy Tính >  >> Lập trình >> C ++

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

Hàm mật độ xác suất (pdf), 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ị nhất định. 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 của biến ngẫu nhiên nằm trong một phạm vi giá trị cụ thể được cho bởi tích phân của mật độ của biến này trên phạm vi đó, Vì vậy, nó được cho bởi diện tích dưới hàm mật độ nhưng nằm trên trục hoành và giữa giá trị thấp nhất và lớn nhất của phạm vi. 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

Begin
   Declare n
   Assign pdf=0
   For i =0 to n , do
      pdf = rand() mod 200
      If pdf greater than 360
         Print 1
      Else if pdf less than 0
         Print 0
      Else
         Print pdf * 0.1 / 360
      Done
   Done
end

Mã mẫu

#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 << "...";
}

Đầu ra

0.0508333 0.0238889 0.0491667 0.0319444 0.0536111 0.0375 ...