merhabalar kolay gele
oncelikle crown un ve tepedeki psychedelic adamin urettigi algoritmalarda bir sorun var zannederim.
Bu algoritmalarda ilk uretilen sayilar sonraki uretilen sailardan daha buyuk olma egiliminde,
bu algoritmayi yazdim ve N=1000 X=30 icin uyguladim
(not: burada X i parca sayisi olarak aliyorum yani sana toplami 1000 eden 30 sayi uretecek bu algoritma. Bu 30 sayida sira ile sutunlarin genisligi olacak, Not bu algoritmayi sadece durumu gostermek icin yazdigimdan 0 genisligindeki sutunlari eleyecek bir seyler eklemedim algoritmaya)
bu algoritma (matlab da yazilmis)
clear all
clc
N=1000
X=30
u=[];
for(i=1:(X-1));
u(i,1)=round(N*rand(1));
N=N-u(i,1);
end
u=[u;N];
u'
bu da programin ciktisi
Columns 1 through 13
669 63 99 78 89 0 2 0 0 0 0 0 0
Columns 14 through 26
0 0 0 0 0 0 0 0 0 0 0 0 0
Columns 27 through 30
0 0 0 0
sayilarin giderek kuculdugunu gorebilirsin.
altarnatif ise soruyu biraz farkli ele almak
bu soru elinde N atne bilye var ve bunlari x tane kutuya atmak istiyorsun sorusu ile ayni
Ancak biz sonucta bos kutu kalmasini istemedigimiz icin once, her kutuya 1 bilye atarak basliyoruz sonra
elimizde kalan N-X tane bilyeyi kutulara rasgele atarak elimizdeki bilyeleri bitiriyoruz. Sonucta kutulardaki bilyeler de bizim rasgele dagilim oluyor.
matlab da algoritmasi soyle olabilir
clear all
clc
N=1000
X=30
u=ones(X,1);
for(i=1:(N-X));
k=ceil((X)*rand(1));
u(k,1)=u(k,1)+1;
end
u'
bu da programin ciktisi
ans =
Columns 1 through 13
28 32 31 28 28 36 34 30 30 33 25 37 42
Columns 14 through 26
46 20 36 37 46 33 26 34 32 37 26 41 37
Columns 27 through 30
31 31 40 33
gordugun gibi dagilim cok daha homojen.
hadi kolay gelsin sorun olursa yaziver.
0