daily pastebin goal
8%
SHARE
TWEET

exercicios/lista 2

l0rd_s1t4 Apr 16th, 2018 43 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #1.Gerar uma permutação dos números 1; 2; 3; : : : ; n,
  2. ##considerando todas as n! possiveis permutações igualmente
  3. ##prováveis (exemplo 4b).
  4.  
  5. n = 10
  6. Pi = c(1:n)
  7.  
  8. for(i in 1:n){
  9.   ale = sample(i, 1:n, replace = FALSE)
  10.  
  11.   aux = round((ale)*runif(1)+1)
  12.   if(aux != 1){
  13.     aux2 = round((ale - 1)*runif(1)+1)
  14.     Pi[aux] = Pi[aux2]
  15.   }
  16. };Pi
  17.  
  18. #2. Gerar valores de X ~ Geométrica(p) (exemplo 4b).
  19. p = 0.4; n = 1000
  20. inv = floor((log(runif(n))/(log(1-p))))
  21. barplot(table(inv) +1)
  22.  
  23. #3. Implementar o algoritmo para gerar valores de X ~ Poisson(lamb) (seção 4.2).
  24.  
  25. val = runif(1)
  26. n3 = 100
  27.  
  28. for(i in 1:n3){
  29.   lamb = i
  30.   pe = exp(-lamb)
  31.   fe = pe
  32.   if(val < fe){
  33.     pe = (lamb*pe)/(i+1)
  34.     fe = fe +pe
  35.   }
  36.  
  37. }
  38.  
  39. # bernoulli
  40.  
  41. berinv = function( nc, p){
  42.   X = c(1:nc)
  43.   p1 = (1-p)
  44.  
  45.   for(i in 1:nc){
  46.     y = runif(1)
  47.     if(y < p1)
  48.       X[i] = y
  49.     else
  50.       X[i] = 1
  51.   }
  52.   X
  53. }
  54. berinv(5,0.3)
  55.  
  56. # inversa da binomial
  57.  
  58. vetb = 0
  59. nc = 100
  60. p = 0.7
  61.  
  62. c = p/(1 - p)
  63. pr = (1 - p)^nc
  64. f = pr
  65.  
  66. for(i in 1:nc){
  67.  
  68.   u = runif(1)
  69.   pr = ((c*((nc - 1)))/(i + 1))*(1-p)^nc
  70.   if(u < f){
  71.  
  72.       vetb[i] = pr
  73.   }else{
  74.    
  75.     vetb[i] = f + pr #((1 - p)^nc) + ((p/(1 - p))*((nc - 1)/(i + 1))*(1-p)^nc
  76.     }
  77. }
  78.  
  79. #10.a
  80. ##binomial negativa
  81. X ~ NBin (1; p) = Geo (p)
  82. X ~ NBin (r; p) = somatorio r i=1 Geo (p)
RAW Paste Data
Top