Цикл со случайным приращением - PullRequest
0 голосов
/ 30 марта 2019

Рассмотрим следующий код (Matlab)

function counter = ross_fpt_uniform
%ROSS_FPT_UNIFORM generates the first passage time of the sum of uniform
% random variables exceeding level 1.
    s = 0;
    counter = 0;
    while (s <= 1)
        s = s + rand(1,1);
        counter = counter + 1;
    end
end %ross_fpt_uniform

У меня проблемы с переводом function counter = ross_fpt_uniform в R

Меня смущает, как мне следует обращаться с counter, потому что здесь counter = counter + 1; кажется, что это переменная.Это функция или переменная и как мне написать это в R?

Мой текущий код r следующий:

counter<-function() {
  s<-0 
  counter<-0 
  while(s<=1){
    s <- s + runif(1) 
    counter <- counter+1
  }
}

1 Ответ

1 голос
/ 30 марта 2019

Все, что вам не хватает, это утверждение return(counter).

counter<-function() {
  s <- 0 
  counter <- 0 
  while(s<=1){
    s <- s + runif(1) 
    counter <- counter+1
  }
  return(counter)
}

Попробуйте:

set.seed(101); cc <- replicate(1000,counter())
plot(table(cc))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...