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
İ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