2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 R Wichmann-Hill generator
Сообщение15.10.2015, 20:22 
Аватара пользователя


15/11/08
502
London, ON
Я написал эмуляцию Wichmann-Hill генератора случайных чисел
Код:
wh.unif = function(n, start=0, end=1){
  x = double(n) #initialize x
  y = c(171,172,170)
  z = c(30269, 30307, 30323)
  #If seed does not exist - create it
  if (!exists(".WH.seed",envir=.GlobalEnv)){
    .WH.seed=trunc(runif(3, 1, 30269))
  }else{
    .WH.seed=get(".WH.seed",envir=.GlobalEnv)
  }
  for (i in 1:n) {
    .WH.seed = (y*.WH.seed) %% z
    x[i] = sum(.WH.seed/z) %% 1
  }
#Save the seed
  assign("wh",.WH.seed,envir=.GlobalEnv)
  start + (end-start) * x
}

Но, он выдает результат отличающийся от $\bold{runif}$, а моя задача написать функцию которая будет выдавать такой же результат без использования $\bold{.Random.seed[-1]}$
Код:
b=wh.unif2(5);b
set.seed(wh,"Wich")
a=runif(5);a

Я уже несколько часов пытаюсь понять где ошибка. Можете помочь?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Toucan, maxal, PAV, Karan, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group