Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- C4 = function(N, m, n, p, q) {
- solvea = function() {
- get_nr_days = function() {
- nr_days = 1;
- nr_fake_acc = m
- while (nr_fake_acc > 0) {
- prob_v = runif(nr_fake_acc, 0, 1)
- for (prob in prob_v) {
- if (prob <= q) nr_fake_acc = nr_fake_acc - 1
- }
- nr_fake_acc = nr_fake_acc + rbinom(1, n, p)
- nr_days = nr_days + 1
- }
- return (nr_days)
- }
- s = 0
- for (i in 1:N) {
- s = s + get_nr_days()
- }
- print(s / N)
- return(s / N)
- }
- solvea()
- solveb = function() {
- get_nr_days = function() {
- nr_days = 1;
- nr_fake_acc = m
- while (nr_days < 40 && nr_fake_acc > 0) {
- prob_v = runif(nr_fake_acc, 0, 1)
- for (prob in prob_v) {
- if (prob <= q) nr_fake_acc = nr_fake_acc - 1
- }
- nr_fake_acc = nr_fake_acc + rbinom(1, n, p)
- nr_days = nr_days + 1
- }
- return (nr_fake_acc)
- }
- s = 0
- for (i in 1:N) {
- if (get_nr_days() <= 50000) s = s + 1
- }
- print(s / N)
- return(s / N)
- }
- # solveb()
- solvec = function() {
- alfa = 0.01
- z = qnorm(alfa / 2)
- epsilon = 0.01
- p = ?
- N_min = p * (1 - p) * (z / epsilon)^2
- s = 0
- for (i in 1:N_min) {
- if (get_nr_days() <= 50000) s = s + 1
- }
- return(s / N_min)
- }
- }
- C4(20, 10000, 50, 0.5, 0.1)
Advertisement
Add Comment
Please, Sign In to add comment