تولید اعداد تصادفی با توزیع نرمال - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تولید اعداد تصادفی با توزیع نرمال

+1 امتیاز
سلام. برای تولید اعداد تصادفی با توزیع نرمال توی نرم افزار MATLAB راحته توی c++11 باید همچین جیزی را خودم بنویسم واقعاً سخت میشه مثلاً توزیع برنولی و بقیه توزیع ها را خودمان بنویسم آیا کتایخانه ای برای c++ وجود داره که این کار را انجام بده؟
سوال شده اسفند 1, 1392  بوسیله ی porya (امتیاز 64)   6 13 19

1 پاسخ

+4 امتیاز
 
بهترین پاسخ

البته در نسخه c++11 هم با معرفی random_engine به راحتی می تونید اعداد تصادفی با هر توزیعی که تمایل دارید تولید کنید حتی از MATLAB هم راحت تر .

#include <iostream>
#include <random> 
int main()
{


std::default_random_engine generator;
std::normal_distribution<double> distribution(/*mean=*/0.0, /*stddev=*/1.0);

vector<double> items(10);
generate(items.begin(),items.end(),[&](){return distribution(generator);});
for (auto item:items)
	cout << item << endl;

 

پاسخ داده شده اسفند 1, 1392 بوسیله ی haniye sarbazi (امتیاز 983)   2 6 15
انتخاب شد اسفند 1, 1392 بوسیله ی BlueBlade
...