У меня есть следующий код MATLAB, и я работаю над его переводом на R:
nproc=40
T=3
lambda=4
tarr = zeros(1, nproc);
i = 1;
while (min(tarr(i,:))<= T)
tarr = [tarr; tarr(i, :)-log(rand(1, nproc))/lambda];
i = i+1;
end
tarr2=tarr';
X=min(tarr2);
stairs(X, 0:size(tarr, 1)-1);
Это процесс Пуассона с точки зрения процессов обновления. Я сделал все возможное в R, но что-то не так в моем коде:
nproc<-40
T<-3
lambda<-4
i<-1
tarr=array(0,nproc)
lst<-vector('list', 1)
while(min(tarr[i]<=T)){
tarr<-tarr[i]-log((runif(nproc))/lambda)
i=i+1
print(tarr)
}
tarr2=tarr^-1
X=min(tarr2)
plot(X, type="s")
Цикл печатает случайное количество массивов, и только последний сохраняется с помощью tarr
после него.
Результат должен выглядеть...
Заранее спасибо. Все интересные и поддерживающие комментарии будут вознаграждены.