روش باکس مولر

روش باکس مولر برای تولید اعداد تصادفی برای یک تابع توزیع فراوانی مشخص استفاده میشود که البته تابع توزیع اولیه باید معکوس پذیر باشد که در صورت معکوس پذیر نبودن تابع توزیع میتوانید از روش حذفی استفاده کنید. به عناون مثال اگر یک تابع توزیع داشته باشیم و بخواهیم بین بازه a ,b با توجه به این تابع یک توزیع فراوانی با اعدادتصادفی ایجاد کنیم برای این کار با استفاده از روش باکس مولر ابتدا تابع را نرمالیزه میکنیم بدین صورت که از تابع توزیع بین بازه a تا b انتگرال گرفته و مساوی یک قرار میدهیم و ضریبی که این تابع را نرمالیزه میکند را محاسبه میکنیم و در تابع اصلی توزیع ضرب میکنیم.

بعد از نرمالیزه کردن تابع توزیع معکوس تابع توزیع را محاسبه مینماییم که تا اینجا تمام مراحل باید به صورت دستی انجام گیرد و بعد محاسبه معکوس تابع از این تابع معکوس برای تولید توزیع فراوانی استفاده میکنیم بدین صورت که یک عدد رندم بین صفر و یک تولید کرده و در تابع معکوس قرار میدهیم تا x متناظر ان را محاسبه نماییم سپس بازه ولیه را به زیر بازه های کوچک مثلا صد بازه تقسیم میکنیم. سپس اعداد رندم تولید شده در هر بازه را شمارش کرده  و در یک فایل خروجی به چاپ مینماییم که با رسم این فایل خروجی تابع توزیع تولید شده نمایش داده میشود.

فایل کد فرترن این برنامه برای یک مثال آماده شده است در این مثال از تابع توزیع زیر برای تولید 100000 عدد رندم استفاده شده است.

p(y)=y*exp(-y^2)

x=0,5

مراحل مربوط به نرمالیزه کردن و یافتن تابع معکوس این مثال در شکل زیر نمایش داده شده است.

باکس مولر

در کد فرترن آماده شده شما میتوانید در قسمت پایانی برنامه توابع مورد نظر خود را به جای تابع توزیع و معکوس تابع توزیع بدست امده در بالا قرار بدهید که در فایل فرترن فانکشن های مربوط به این توابع با نام های p  و f ذخیره شده اند که میتوانید روابط مورد نظر خود را در این دو تابع قرار دهید.

فایل فرترن روش باکس مولر را میتوانید در زیر خریداری و دانلود نمایید. با تشکر

همچنین ببینید

تقسیم هزار ریالی

در این برنامه فرترن تمام حالتهای تقسیم یک هزار ریالی به 1000،500،200،100،50،20 و 10 ریالی ...

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *