YorKnEz

C4

May 28th, 2023
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. C4 = function(N, m, n, p, q) {
  2. solvea = function() {
  3. get_nr_days = function() {
  4. nr_days = 1;
  5. nr_fake_acc = m
  6.  
  7. while (nr_fake_acc > 0) {
  8. prob_v = runif(nr_fake_acc, 0, 1)
  9. for (prob in prob_v) {
  10. if (prob <= q) nr_fake_acc = nr_fake_acc - 1
  11. }
  12.  
  13. nr_fake_acc = nr_fake_acc + rbinom(1, n, p)
  14.  
  15. nr_days = nr_days + 1
  16. }
  17. return (nr_days)
  18. }
  19.  
  20. s = 0
  21. for (i in 1:N) {
  22. s = s + get_nr_days()
  23. }
  24. print(s / N)
  25. return(s / N)
  26. }
  27. solvea()
  28.  
  29. solveb = function() {
  30. get_nr_days = function() {
  31. nr_days = 1;
  32. nr_fake_acc = m
  33.  
  34. while (nr_days < 40 && nr_fake_acc > 0) {
  35. prob_v = runif(nr_fake_acc, 0, 1)
  36. for (prob in prob_v) {
  37. if (prob <= q) nr_fake_acc = nr_fake_acc - 1
  38. }
  39.  
  40. nr_fake_acc = nr_fake_acc + rbinom(1, n, p)
  41.  
  42. nr_days = nr_days + 1
  43. }
  44. return (nr_fake_acc)
  45. }
  46.  
  47. s = 0
  48. for (i in 1:N) {
  49. if (get_nr_days() <= 50000) s = s + 1
  50. }
  51. print(s / N)
  52. return(s / N)
  53. }
  54. # solveb()
  55.  
  56. solvec = function() {
  57. alfa = 0.01
  58. z = qnorm(alfa / 2)
  59. epsilon = 0.01
  60. p = ?
  61. N_min = p * (1 - p) * (z / epsilon)^2
  62.  
  63. s = 0
  64. for (i in 1:N_min) {
  65. if (get_nr_days() <= 50000) s = s + 1
  66. }
  67. return(s / N_min)
  68. }
  69. }
  70. C4(20, 10000, 50, 0.5, 0.1)
Advertisement
Add Comment
Please, Sign In to add comment