تخفیف ویژه ماه مبارک رمضان، فرصت یادگیری با 35٪ تخفیف (کد تخفیف: ramazan)

سبد خرید (0)

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

همان طور که تابع 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 بصورت شامل

دیدگاه‌ها  

0 # سمانه ندری 1396-03-11 12:55
سلام میشه بگید برای randn چطورمیشه یه بردارشامل هزارعدد تصادفی بین۱تا۶تولید کرد؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # احسان عباسی 1396-03-11 16:57
سلام.
لطفا سوال خودتون رو کمی بیشتر توضیح بدهید بنده متوجه نشدم. آیا منظورتون اینه که هزار عدد تصادفی صحیح(مثل 1یا 3 یا 5 که اعداد صحیحی هستند ) ایجاد بشه، یا اینکه هزار عدد تصادفی اعشاری دلخواه مثل 1.32 و 4.256 و 5.21 ایجاد شود؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن