instagram twitter linkedin github youtube

20.1.19

MATLABDA RASGELE SAYI ÜRETME VE DİZİLER

Arkadaşlar şimdi sizlere detaylı bir şekilde matlab için rastgele sayı üretme ve bu  üretilen sayıları daha önce anlattığım bir depo vektörüne kaydetmeyi anlatacağım.
İlk olarak rand fonksiyonundan bahsedeyim . rand fonksiyonu 0-1 arasında rastgele sayılar üreten bir fonksiyondur. Eğer parametre almaz ise sadece 1 değer üretir . eğer parametre alırsa dizi yada matris üretir .
Örneğin rand() yazdığımızda bize  0.5797  sonucunu ürettiğini varsayalım . eğer bu rand komutunu
rand(2,1) olarak yazsa idik  2 satır ve 1 sütundan oluşan bir matris üretecek

rand(2,1)    0.5499
                  0.1450    gibi  ,  şimdi  4x3 boyutunda bir matris oluşturmak istersek

rand(4,3)  4 satır ve 3 sütundan oluşan matrisimiz şu şekil olacaktı.

    0.8530    0.4018    0.1839
    0.6221    0.0760    0.2400
    0.3510    0.2399    0.4173
    0.5132    0.1233    0.0497
Arkadaşlar sizde tahmin edersiniz ki buradaki değerler değişkendir ve sizler denediğinizde aynı sonucu almayabilirsiniz :)
şimdi bunları bir değişkene atayalım
örneğin bir X değişkenine atarsak

X=rand(1,10);  ifadesi ile  X e on elamanlı bir vektör atamış olduk ;
X=rand(7,5) ; yapsa idik X e bu sefer 7 satır ve 5 sütundan oluşan bir matris atamış olurduk.
Şimdi gel gelelim rand ile üretilen bir sayıyı tam sayı basamakları arasında üretmeye. Ne demek istiyorum ?
Yani  round ve rand komutları ile belli değerler arasında tam sayı üretelim ve örneğimiz 1 ile 5 arasında rastgele TAMSAYI üreten komut olsun

round---> tam sayıya yuvarlar
rand ----> rastgele 0-1 arasında ondalıklı sayı üretir
round(1+4*rand(3,3))   komutu  elamanları 1 ile 5 arasında olan  3x3 boyutunda bir matris üretir.

1 ile 128 arasında yapalım mesela
round(1+127*rand(1,100))   bu komut ne yapar ?
100 elamanlı  , elemanları  1 ile 128 arasında rastgele sayılardan oluşan bir dizi oluşturur