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

چاپ

همان طور که تابع rand، اعداد تصادفی حقیقی را تولید می کند، می توانیم اعداد تولید شده به وسیله ی آن را گرد کنیم تا یک عدد صحیح تصادفی به دست آید. بعنوان مثال داریم:

>> round(rand*10)

 با استفاده از دستور بالا، یک عدد صحیح تصادفی در محدوده ی 0 تا 10 به دست می آید که شامل خود اعداد 0 و 10 نیز می باشد. درواقع عبارت rand*10 یک عدد حقیقی تصادفی بین بازه ی باز (0,10) را تولید می کند که با گرد کردن آن یک عدد صحیح تصادفی بوجود می آید. 

اما این اعداد صحیح به دست آمده، به طور مساوی در محدوده ی مورد نظر توزیع نشده اند. روش بهتر این است که از تابع randi استفاده کنیم. در ساده ترین حالت، اگر دستور (randi(imax را مورد استفاده قرار دهیم، یک عدد صحیح تصادفی در محدوده ی 1 تا imax بصورت شامل، برگردانده می شود. بعنوان مثال دستور (randi(4 یک عدد صحیح را بین 1 تا 4 بطوری که شامل خود اعداد 1 و 4 باشد را برمی گرداند. همچنین می توان یک محدوده را نیز مشخص نمود. بعنوان مثال اگر عبارت \(randi([imin,imax])\) را وارد کنیم، یک عدد صحیح تصادفی بین imin تا imax بصورت شامل، به وجود می آید. به مثال زیر توجه کنید:

 

 


تمرین 1.2

در هریک از موارد زیر یک عدد تصادفی را ایجاد کنید:

 

1. یک عدد حقیقی تصادفی در محدوده ی [0,1]

2. یک عدد حقیقی تصادفی در محدوده ی [0,100]

3. یک عدد حقیقی تصادفی در محدوده ی [20,35]

4. یک عدد صحیح تصادفی در محدوده ی 1 تا 100 بصورت شامل

5. یک عدد صحیح تصادفی در محدوده ی 20 تا 35 بصورت شامل