expectedprod=expectedprod';
capitalSS=(F/A_ss)^(1/(1-theta));
vGridCapital=linspace(kmin, kmax, nGridCapital);
mValueFunction=zeros(3,nGridCapital);
mValueFunctionnew=zeros(3,nGridCapital);
mValueFunctionnew_i=zeros(3,nGridCapital);
mValueFunctionnew_a=zeros(3,nGridCapital);
mPolicyFunction=zeros(3,nGridCapital);
mPolicyFunction_i=zeros(3,nGridCapital);
mPolicyFunction_a=zeros(3,nGridCapital);
valueProvisional_i=zeros(3,nGridCapital);
valueProvisional_a=zeros(3,nGridCapital);
adjcost=zeros(3,nGridCapital);
invest=zeros(3,nGridCapital);
revenue=zeros(3,nGridCapital);
Pi=A*(vGridCapital.^theta);
diff=max(diff_i, diff_a);
for nCapital =1:nGridCapital
for nCapitalNext =1:nGridCapital
for prodnext =1:size(expectedprod,1)
adjcost(nCapital,nCapitalNext)=(gamma/2)*(vGridCapital(nCapitalNext)-vGridCapital(nCapital)/vGridCapital(nCapital))^2 * vGridCapital(nCapital);
invest(nCapital,nCapitalNext)=p*(vGridCapital(nCapitalNext)-vGridCapital(nCapital));
revenue(nCapital)=prod*vGridCapital(nCapital).^theta;
valueProvisional_i(prodnext,nCapitalNext)=(1-beta)*(revenue(nCapital))+beta*(mValueFunction(prodnext,nCapitalNext));
valueProvisional_a(prodnext,nCapitalNext)=(1-beta)*(revenue(nCapital)- F*vGridCapital(nCapital)-adjcost(nCapital,nCapitalNext)-invest(nCapital,nCapitalNext))+beta*(mValueFunction(prodnext,nCapitalNext));
mValueFunctionnew_i(prod,nCapital)=max(valueProvisional_i(prod,nCapital));
mPolicyFunction_i(prod,nCapital)=max(valueProvisional_i(prod,nCapital));
mValueFunctionnew_a(prod,nCapital)=max(valueProvisional_a(prod,nCapital));
mPolicyFunction_a(prod,nCapital)=max(valueProvisional_a(prod,nCapital));
mValueFunctionnew=max(mValueFunctionnew_a, mValueFunctionnew_i);
mPolicyFunction=max(mPolicyFunction_i,mPolicyFunction_a);
diff=norm(mValueFunctionnew-mValueFunction);
mValueFunction=mValueFunctionnew;
fprintf('Iteration=%d, Sup=%2.8f\n', iteration, diff)
plot(vGridCapital, mPolicyFunction(1,:), 'red')
plot(vGridCapital, mPolicyFunction(2,:), 'blue')
plot(vGridCapital, mPolicyFunction(3,:), 'green')
legend('Low A', 'Medium A', 'High A')