مستر کد
mrcode.wikibix.ir

دستور randn در متلب

نویسنده : نازنین رحمانی | زمان انتشار : 24 اسفند 1400 ساعت 20:23

جهت انجام پروژه های دانشجویی و یا تمرین‌های برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید

@AlirezaSepand



access_time1398/01/24

visibility 1.11k بازدید

سلام از سری آموزش متلب با آموزش تولید اعداد تصادفی در متلب با شما هستیم

در بسیاری از پردازش های فیزیکی و کاربردهای مهندسی تولید اعداد تصادفی نقش فراوانی در حل مسائل ایفا می کند. در نرم افزار MATLAB از دو دستور rand و randn جهت تخصیص اعداد تصادفی به متغیرها استفاده می شود.

دستور rand یک توزیع یکنواخت از اعداد در بازهی [1 , 0] تولید می کند. با استفاده از این دستورات می توان یک اسکالر، یک بردار یا یک ماتریس تصادفی مانند جدول زیر تولید کرد.

مثالتوضیحاتدستور

rand

 ans =

0.8147

این دستور، تنها یک عدد تصادفی بین صفر ویک تولید می کند.rand
(rand(1,3

=ans

0.9058 0.1270 0.9134

این دستور یک بردار سطري n عضوی از اعداد تصادفی در بازه ی [0, 1] تولید می کند.(rand(1,n

(rand(2

=ans

0.6324 0.2785
0.0975 0.5469

این دستور یک ماتریس n*n با اعداد تصادفی  در بازه ی [1 , 0] تولید می کند.(rand(n
(rand(2,3

=ans

0.9575 0.1576 0.9572
0.9649 0.9706 0.4854

این دستور یک ماتریس m*n با اعداد تصادفی  در بازه ی [1 , 0] تولید می کند.(rand(m,n
(randperm(3

=an

2   3   1

این دستور یک بردار سطری n عضوی و به صورت جایگشت اعداد بین 1 تا n تولید می کند (اعداد بین 1 تا n به صورت تصادفی جایگشت می شوند).(randperm(n

دستور تصادفی randn در متلب

با استفاده از این دستور، نرم افزار MATLAB مقادیر گوسی، با میانگین صفر و واریانس ( در صورتی که توزیع نرمال تعیین شده باشد تولید می کند. در MATLAB از دستورات زیر جهت تولید مقادیر گوسی استفاده می شود:

  • ( Randn( n :این دستور یک ماتریس n*n شامل اعداد تصادفی گوسی (نرمال) تولید می کند کهمیانگین آن صفر و انحراف معیار آن یک است
  • ( Randn( n , m: این دستور یک ماتریس m*n شامل اعداد تصادفی گوسی (نرمال) تولید می کند کهمیانگین آن صفر و انحراف معیار آن یک است.

اگر تمایل داشته باشیم که یک عدد تصادفی گوسی با میانگین و انحراف معیار متفاوت تولید کنیم برای این کار می توانیم به صورت زیر عمل کنیم. این دستور مجموعه ای از اعداد تصادفی با میانگین او انحراف معیار ۲ تولیدمی کند:

>>r=1+2.*randn(5,1)

r=

   -2.9218

    0.6046

   -1.4157

    6.8160

    2.6504

مثال 1 :فرض می کنیم برداری بانام a موجود است، قرار است n عضو را به صورت تصادفی از این بردار انتخاب کنیم. برای این کار روش های گوناگونی ممکن است ارائه گردد که در ادامه به معرفی یک روش می پردازیم.

حل:

(طول بازه ی B = ceil ( rand ( 1 , n ) * a

(d=a (b

به عنوان مثال اگر بردار a یک بردار ۵۰۰۰ عضوی باشد و بخواهیم ۳۲ عنصر را به صورت تصادفی از آن انتخاب کنیم به صورت زیر عمل می کنیم:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

a=100*rand(1,5000);

>>b=ceil(rand(1,32)*5000);

>>d=a(b)

d=

  Columns1through8

   58.9104   81.2944   58.0634   30.8915   88.0604   62.6954   50.2662   33.0669

  Columns9through16

   65.9617   58.2382   23.6022    0.8248   17.3069   60.3902   84.3616   27.2725

  Columns17through24

   79.6915   25.4169   96.1285   10.1762   39.3613   99.5324   16.5891   77.7265

  Columns25through32

   95.5726   56.9829   67.3995   29.2279    5.8007   61.0371    4.1336   90.1803

مثال 2 : در مثال زیر اعداد تصادفی بین دو عدد (۱۰ تا ۲۰) را محاسبه خواهیم نمود.

حل:

a=10:20;

b=randperm(10);

a=a(b)

a=

    13    18    15    17    10    14    12    16    19    11

مثال 3 : ماتریسی ۱۰ در ۱۰ ایجاد کنید که مقادیر داخل آن فقط اعداد تصادفی 1 و 1- باشد.

حل:

برای حل این مثال از دو حلقه ی for به صورت تودرتو استفاده شده است.

forn=1:10

    form=10:-1:1

        w(n,m)=(-1).^(fix(10*rand));

    end

end

پیشنهاد مطالعه: چندجمله ای ها در متلب (قسمت هفتم)

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

به این آموزش امتیاز بدهید

اشتراک گذاری:

درباره فرهاد حمیدی

مدیرسایت فراکد،دانشجوی رشته ی مهندسی مکانیک،علاقه مند به برنامه نویسی و طراحی صنعتی که دوست دارم تجربیاتم رو با دیگران به اشتراک بگذارم.

نوشته های بیشتر از فرهاد حمیدی


منبع: faracad.ir