انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تولید اعداد تصادفی

تولید اعداد تصادفی

#2
سلام .
برای اعداد تصادفی از دستور rand در متلب استفاده می شود .
البته این دستور اعداد تصادفی بین 0 تا 1 را تولید می کند اما با دستورات زیر می توانید اعداد تصادفی بین a تا b را تولید کنید :

کد:
a=2;
b=4;
A=a+(b-a)*rand(1)

کد متلب بالا یک عدد تصادفی بین 2 تا 4 تولید می کند . مثلا یک نتیجه برای این کد متلب به صورت زیر می باشد :

کد:
A =

    2.8724

خوب حالا فرض کنید که بخواهید یک ماتریس با 3 ردیف و 2 ستون داشته باشید که هر عنصر آن یک عدد تصادفی در بازه 2 تا 4 باشد ، برای این منظور باید درون پرانتز دستور rand ، تعداد ردیف و ستون را به صورت زیر مشخص کنید :

کد:
a=2;
b=4;
A=a+(b-a)*rand(3,2)

نتیجه یک بار اجرای کدهای متلب بالا به صورت زیر می باشد :

کد:
A =

    2.7506    2.0767
    3.1794    2.5314
    3.9904    2.6044

چنانچه بخواهید اعداد تصادفی اعشاری نبوده و حتما عدد صحیح باشند می توانید از دستور round استفاده کنید . البته دستورات دیگری نیز برای گرد کردن اعداد اعشاری وجود دارند که تفاوت هایی با هم دارند و می توانید در مبحث زیر تفاوت آنها را متوجه شوید :

گرد کردن اعداد اعشاری در متلب

مثلا فرض کنید یک ماتریس با 6 ردیف و 2 ستون می خواهیم که هر عنصر آن یک عدد صحیح تصادفی در بازه عددی 0 تا 10 باشد ، برای این منظور کدهای زیر را می نویسیم :

کد:
a=0;
b=10;
A=round(a+(b-a)*rand(6,2))

نتیجه یک بار اجرای کدهای متلب بالا به صورت زیر خواهد بود (چون اعداد تصادفی هستند ، هر بار اجرا نتایج متفاوتی را خواهد داد) :

کد:
A =

     6     8
     1     2
     3     4
     1     8
     7     2
     8     7

در مورد اینکه گفتید بعضی سطرها صفر باشند ، دقیقا متوجه نشدم منظورتون چی هست اما اگه منظورتون اینه که اگه عنصر اول هر ردیف صفر باشد ، عنصر دوم آن ردیف نیز صفر شود ، باید ابتدا اعداد تصادفی را تولید کنید سپس با دستور if شرط بگذارید و عناصر اول هر ردیف را چک کنید و اگر صفر بود عنصر دوم آن ردیف را هم به صفر تغییر بدهید .
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ


پیام‌های این موضوع
تولید اعداد تصادفی - توسط transient - ۱۳۹۱/۱۰/۲۵, ۱۱:۰۴ ب.ظ
RE: کمک - توسط admin - ۱۳۹۱/۱۰/۲۶, ۱۱:۵۱ ق.ظ
RE: کمک - توسط transient - ۱۳۹۱/۱۰/۲۶, ۰۵:۱۴ ب.ظ
RE: کمک - توسط admin - ۱۳۹۱/۱۰/۲۶, ۰۶:۱۷ ب.ظ
RE: کمک - توسط transient - ۱۳۹۱/۱۰/۲۶, ۰۹:۲۹ ب.ظ
RE: کمک - توسط admin - ۱۳۹۱/۱۰/۲۷, ۰۲:۲۲ ب.ظ
RE: کمک - توسط transient - ۱۳۹۱/۱۰/۲۷, ۰۵:۴۲ ب.ظ
RE: کمک - توسط transient - ۱۳۹۱/۱۰/۲۹, ۰۱:۰۱ ق.ظ
RE: کمک - توسط admin - ۱۳۹۱/۱۰/۳۰, ۱۲:۱۵ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان