Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม 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 ...