در این مطلب آموزشی از نرم افزار متلب (MATLAB) دو تابع rand و تابع randperm رو آموزش میدیم! تابع rand(a) میاد و یه ماتریس a در a درست میکنه که تک تک درایههاش از اعداد صفر تا یک هستن! و تابع randperm(a) میاد و یه چینش دلخواه از اعداد طبیعی کمتر مساوی a رو نمایش میده! جزئیات بیشتر رو در ادامه دنبال کنید!
در ضمن اگر به هر دلیلی دوست ندارید متن رو بخونید و میخواید فیلم رو نگاه کنید، به آخر همین مطلب مراجعه کنید و فیلم و دانلود کنید!
به طور کلی rand(m) یک ماتریس m در m ایجاد میکنه که هر کدام از درایه هاش آن عددی است بین صفر و یک!
مثلاً اگر در محیط متلب (MATLAB) بنویسیم!:
rand(2)
خروجی مطالبق زیر مشاهده میکنید!
ans = 0.8147 0.1270 0.9058 0.9134
همانطور که مشاهده میکنید، یک ماتریس دو در دو درست شده، که هر کدام از دایه های آن عددی است بین صفر و یک!
تذکر: هر دفعه که کد بالا رو اجرا کنید، rand برای خودش یک اعداد تصادفی دیگه تولید میکنه و لزوماً اینایی که الان میبینید نخواهند بود! و خلاصه اعدادی که هر دفعه تولید میکنه لزوماً با دفعه قبلی خودش یکسان نیست!
ماتریسی 2 در 2 درست کنید که اعداد آن عددی بین 2 تا 5 باشند!:
جواب: در حالت کلی برای تولید عدد تصادفی بین a و b و به کمک دستور rand از فرمول زیر استفاده میکنیم!:
a+((b-a)*rand)
حالا اگر قراره یک ماتریس 2 در 2 درست کنیم که اعدادش بین 2 و 5 هستند، پس از دستور زیر باید استفاده کنیم!
((5-2)*rand(2))+(2*ones(2))
قطعاً میگین این چیه دیگه نوشتیم!!!
اولاً قراره یک ماتریس 2 در 2 ایجاد کنیم! پس اولا باید یک rand(2) که بنویسیم! و به این توجه کنید که یک ماتریس 2 در 2 ایجاد میکنه!
بعد قرار بود اعداد ماتریس ضربدر b-a هم بشه که اون تیکه که در ضربدر (پنج منهای 2) کردیم، همونه! و بازهم توجه کنید که اینجا هم هنوز ماتریس 2 در 2 داریم!
حالا قراره به این مجموعه a (که 2 هست رو اضافه کنیم)! اما مگه میشه یک عدد رو با یک ماتریس جمع کرد! قطعاً نه! پس باید به تک نک درایه های ماتریس یک 2 اضافه کنیم!
که این کار رو با دستور زیر انجام میدیم!:
2*ones(2)
یادآوری: دستور ones(n) یک ماتریس n در n درست میکنه که همه اعدادش 1 (one) هستند! و اگر ماتریس ones رو مثلاً ضربدر 3 کینم، تابلوست [!] که همه اعدادش سه خواهند بود!
پس اون چیزی که نوشتیم، ماتریسی است 2 در 2 که همه درایه هاش 2 هستند!
که در نهای و بعد از این همه توضیح، خروجی زیر را میدهد!:
ans = 4.8715 4.4008 3.4561 2.4257
تمرین: ماتریسی ایجاد کنید 3 در 3، که همه اعضای آن عددی بین 7.25 و 7.5 باشند!
به طور کلی randperm(m) میاد و یک چینش کاملاً تصادفی و دلخواه از اعداد 1 تا m رو ارائه میده!
اگر قطعه کد زیر رو در متلب (MATLAB) وارد کنیم!:
randperm(5)
میاد و اعداد 1 تا 5 رو به صورتی که حال میکنه و دوست داره! (یعنی به صورت تصادفی) در کنار هم میچینه و به ما خروجی میده!
مثلاً فرض کنید خروجی زیر رو میده!
1 4 5 2 3
همین طور که میبینید اعداد 1 تا 5 رو به صورت دلخواه در کنار هم چیده!
تذکر: هر دفعه که دستور randperm رو اجرا کنید، یه نوع چینش میده که لزوماً با دفعه قبلیش یکسان نیست!
دانلود فیلم (حجم: حدود 5 مگابایت) (مدت زمان: حدود 2 دقیقه)
– لطفاً توجه کنید که: در صورتی که میخواهید فیلم را به صورت آنلاین مشاهده کنید، روی لینکِ دانلود فیلم آموزشی کلیک کنید! اما در صورتی که میخواهید فیلم را دانلودکنید، بر روی لینکِ دانلود فیلم آموزشی راست کلیک و سپس Save Link As… را انتخاب کنید! دلیل اینکه مشاهدهی آنلاین فیلمها را در این صفحه قرار ندادهایم، این است که سرعت load سایت بیشتر نشود و شما کمتر منتظر بمانید!
با ما کولاک کنید …
تعداد دیدگاه | 0 |
تعداد بازدید | 7.3K |
تاریخ انتشار | 03/08/2018 |
تاریخ بروزرسانی | 03/08/2018 |
نویسنده | گروه آموزشی کولاک |