6 Aralık 2008 Cumartesi

Poisson ve inter-arrival time generation..


Sevgili hocam, İbrahim Bey, olayı daha da tatlandırmak için olsa gerek, simülasyona gelecek taleplerin poissona göre olmasını istedi. Yalnız ortada bir sorun vardı ki, bu garip Umut, ne istatistik bilirdi, ne de kafası matematiğe basardı.
Nitekim, Umut, oturdu, bilmem kaç gün uğraştı ve en son bu gün tam "artık başlıyacam atına da, teptiği askerlere de.." derken, dur ülen bi de şunu deniym dedi..
Valla galiba oldu. Hala tam olarak anlamadım bunu ama olsun..

Şimdi şöyle; aşağıdaki C++ koduna taleplerin olmalarını istediğim ortalama değerlerini verdiğimde, kaç adet değer üretilirse üretilsin, ortalamaları nerdeyse belirttiğim değer oluyor.
Yani, matematik ve istatistikten anlamayan bir bilgisayarcı olarak (O zaman bu sektöre ne işim var, dimi..) ancak bunu yapabildim..


int i;
int intervalCount;
double meanInterval;
double nextInterval;
double randomNumber;
double sum;

intervalCount = 8000;
meanInterval = 500;

ofstream fileOut;
fileOut.open ("poisson.txt");

srand( time(0) );
sum = i = 0;
while (i <= intervalCount){
randomNumber = rand()/(RAND_MAX + 1.0);
nextInterval = -meanInterval * log(1 - randomNumber);
sum += nextInterval;
printf("Interval = %f\n", nextInterval);
fileOut << nextInterval << " " << randomNumber << "\n";
i++;
}
printf("---Mean = %f --- \n", sum/intervalCount);

Hiç yorum yok:

Yorum Gönder