Matlab, rasgele sayı üretme konusunda çok sayıda seçenek sunuyor ancak iki sayı arasında bir ya da birden fazla rasgele sayı üretmek için tavsiye edilen bir yol olduğu için doğrudan bu yöntemi paylaşmak istiyorum.
Özellikle simülasyon çalışmalarında iki sayı arasında N adet rasgele sayı üretilmesi gerekiyor. Benzer şekilde bazen iki sayı arasında tek bir sayı üretmek de gerekebiliyor. İkinci durumda N değerinin 1 olduğunu kabul edeceğiz.
Matlab'da iki sayı arasında rasgele sayı üretmek için kullanılması gereken metod şu şekilde:
rasgele = altsinir + (ustsinir - altsinir).*rand(sayiadedi,1)
Ancak sadece tamsayılardan oluşan bir rasgele sayılar üretilecekse (m*n boyutlu bir matris için):
randi([altsinir ustsinir], [m, n])
Örnek 1: Matlab'da 5 ile 10 arasında 8 adet rasgele sayı üretelim.
>> rasgele = 5 + (10 - 5).*rand(8,1)
rasgele =
9.0736
9.5290
5.6349
9.5669
8.1618
5.4877
6.3925
7.7344
Örnek 2: Matlab ile 1'den 10'a kadar olan tamsayıları rasgele olarak üretelim (3*4'lük bir matris olsun).
>> randi([1 10], [3, 4])
ans =
5 2 5 10
1 2 1 5
3 3 10 5
Örnek 3: Matlab ile 1'den 10 aralığında tek bir rasgele sayı üretelim.
>> randi([1 10], [1, 1])
ans =
4
Örnek 4: Matlab ile 1'den 10'a kadar olan sayıları rasgele ve tekrarsız olarak üretelim.
>> tekrarsiz = randperm(10)
tekrarsiz =
6 7 10 8 1 5 2 9 3 4