MATLAB Rastgele Sayı Üretme (rand, randi, randn)
Bu yazımızda MATLAB’da bulunan gömülü fonksiyonlara giriş yapacağız. Gömülü fonksiyonlar, bize programlama yaparken büyük kolaylıklar sağlarlar. Örneğin bir dizinin en büyük elemanını bulmak için döngülerle, kodlarla uğraşmadan tek komut ile sonuca ulaşabiliriz. Bu yazımızda, rastgele sayı üreten gömülü fonksiyonları inceleyeceğiz. Kullanacağımız fonksiyonlar:
- “rand()”: Uniform(düzgün, tekdüze) dağılmış sayı üretmek için
- “randi()”: Uniform(düzgün, tekdüze) dağılmış tam sayı üretmek için
- “randn()”: Normal dağılmış sayı üretmek için
- “randperm(n)”: 1 – n arası tam sayıların permütasyonu için
“rand()” Fonksiyonu
0 ile 1 arasında, NxN uniform sayılar üretmek için:
1
2
%Syntax: rand(N)
rand(3)
0 ile 1 arasında, MxN uniform sayılar üretmek için:
1
2
%Syntax: rand(M,N)
rand(2,5) %2x5
Belirli bir aralıktaki sayılardan, belirli adet rastgele sayı üretmek istiyorsak; “a” aralığın başlangıç sayısı, “b” aralığın bitiş sayısı olmak üzere, “a + (b–a) * rand(M,N)” formülünü kullanırız. Örnek olarak, -10 ile 10 arasında “2×5” matris olacak şekilde sayı üretmek istiyorsak: “-10 + (10 – (-10)) * rand(2,5)” komutunu kullanmalıyız.
1
2
%Syntax: a + (b-a) * rand(M,N)
-10 + (10+10) * rand(2,5) %-10, 10 arasında 2x5
Gerçek ve sanal kısmı 0 ile 1 arasında normal dağılmış karmaşık sayı üretme:
1
2
%Syntax: rand + 1i * rand
rand + 1i * rand
“randi()” Fonksiyonu
1 ile N arasında, rastgele bir tam sayı üretmek için:
1
2
%Syntax: randi(N)
randi(7)
1 ile N arasında, MxM uniform tam sayılar üretmek için:
1
2
%Syntax: randi(N,M)
randi(7,3) %1-7 arası, 3x3
a ile b arasında, MxN uniform tam sayılar üretmek için:
1
2
%Syntax: randi([a b], M, N)
randi([-10 10], 2, 5) %-10 ile 10 arası, 2x5
“randn()” Fonksiyonu
NxN normal dağılmış rastgele sayılar üretmek için:
1
2
%Syntax: randn(N)
randn(3) %3x3
MxN normal dağılmış rastgele sayılar üretmek için:
1
2
%Syntax: randn(M,N)
randn(2,5) %2x5
Gerçek ve sanal kısmı normal dağılmış karmaşık sayı üretme:
1
2
%Syntax: randn + 1i*randn
randn + 1i*randn
“randperm()” Fonksiyonu
“randperm()” fonksiyonu, 1 ile bizim belirlediğimiz “N” aralıktaki tam sayıların rastgele permütasyonunu verir.
1
2
3
%Syntax: randperm(N)
randperm(5) % 1 ile 5 arası sayıların permütasyonu
randperm(5) % 1 ile 5 arası sayıların permütasyonu 2
1 ile N arası tam sayıların M tanesinin permütasyonu için:
1
2
3
%Syntax: randperm(N)
randperm(5) % 1 ile 5 arası sayıların permütasyonu
randperm(5) % 1 ile 5 arası sayıların permütasyonu 2
“rng()” Fonksiyonu
Rastgele sayı üretilirken, başlangıç olarak bir sayı seçilir. Rastgele sayı üretecinin başlangıç sayısını kontrol ederek, rastgele sayı üretirken aynı sonuçları alabiliriz:
1
2
3
4
b_s = rng;
randperm(5) %1-5 arası tam sayıların rastgele permütasyonu
rng(b_s)
randperm(5) %Aynı sonuç
Bütün MATLAB kodlarına Github sayfam aracılığı ile erişebilirsiniz. Github sayfamın linkine aşağıdan ulaşabilirsiniz. Görüşmek üzere!
Github: Github MATLAB
Sitemize destek olmak isteyen sponsorlar için link: Patreon