C++ 程式,使用機率分佈函式生成隨機數


機率密度函式 (pdf) 是一種函式,用於描述該隨機變數取得給定值時的相對可能性。它也稱為連續隨機變數的密度。

隨機變數落在特定值範圍之內的機率由該變數在該範圍上密度的積分給出,因此,它由密度函式下方的區域給出,但在水平軸上方,並介於範圍的最小值和最大值之間。機率分佈基於此機率密度函式。

演算法

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

示例程式碼

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

輸出

0.0508333 0.0238889 0.0491667 0.0319444 0.0536111 0.0375 ...

更新於:30-Jul-2019

1K+ 瀏覽量

開啟你的 職業生涯

完成課程後獲得認證

立即開始
廣告