Empty Matrix with Dynamic Fertility Model
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Hi all,
I am working on a question to replicate the simuelation portion of this code below. I have already generated the Emax matrix.
The code below is what I have. However, I am just getting a matrix full of 0's. Is there something I am doing wrong here?
 simchoice = zeros(1000,20)
%Looping for 1000 women
    for i = 1:1000
         for t = 1:20
            e = normrnd(0 , sqrt(sigma_e_sq),[1000,1]) 
            if t == 1
                N = 0
            else
                N = sum(simchoice(i, 1:(t-1)))
            end
            inc = alpha(5) + alpha(6) * t
            simC_0 = inc - (p_n * N)
            simC_1 = inc - (p_n * (N + 1))
            simU_0 = simC_0 - (0.5*alpha(1)*simC_0*simC_0) + ((alpha(2) + e)*N) - (alpha(3)*N*N) + (alpha(4)*simC_0* N)
        if t < 20
            simV_0 = simU_0 + Emax((N+1), (t+1)) 
        end
        simchoice((i+1),t) = 0
        if N <= 7
           simU_1 = simC_1 - (0.5*alpha(1)*simC_1*simC_1) + ((alpha(2) + e)*(N+1)) - (alpha(3)*(N+1)*(N+1)) + (alpha(4)*simC_1* (N+1))
           if t < 20
               simV_1 = simU_1 + Emax((N+2), (t+1)) 
           end
           if simV_0 < simV_1
               simchoice((i+1),t) = 1
           end
        end
        end
    end
2 comentarios
  Ridwan Alam
      
 el 17 de Dic. de 2019
				the question is not very clear, sorry. which matrix is empty here? 
also, what is simchoice() and what is this statement supposed to do:
simchoice((i+1),t) = 0
Respuestas (1)
  Ridwan Alam
      
 el 17 de Dic. de 2019
        
      Editada: Ridwan Alam
      
 el 17 de Dic. de 2019
  
      Looks like your indexing is off in some places:
simchoice = zeros(1000,20)
%Looping for 1000 women
    for i = 1:1000
         for t = 1:20
            e = normrnd(0 , sqrt(sigma_e_sq),[1000,1]) 
            if t == 1
                N = 0
            else
                N = sum(simchoice(i, 1:(t-1)))
            end
            inc = alpha(5) + alpha(6) * t
            simC_0 = inc - (p_n * N)
            simC_1 = inc - (p_n * (N + 1))
            simU_0 = simC_0 - (0.5*alpha(1)*simC_0*simC_0) + ((alpha(2) + e)*N) - (alpha(3)*N*N) + (alpha(4)*simC_0* N)
        if t < 20
            simV_0 = simU_0 + Emax((N), (t+1)) 
        end
        simchoice(i,t) = 0
        if N <= 7
           simU_1 = simC_1 - (0.5*alpha(1)*simC_1*simC_1) + ((alpha(2) + e)*(N+1)) - (alpha(3)*(N+1)*(N+1)) + (alpha(4)*simC_1* (N+1))
           if t < 20
               simV_1 = simU_1 + Emax((N+1), (t+1)) 
           end
           if simV_0 < simV_1
               simchoice(i,t) = 1
           end
        end
        end
    end
0 comentarios
Ver también
Categorías
				Más información sobre Particle & Nuclear Physics en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

