LaborCapitalAndTheOptimalGr.../CobbDouglas/code/ReverseShooting.R

64 lines
1.8 KiB
R
Executable File

# Reverse shooting
options(digits=22)
## Evolution
x1_array_reverse_shooting <- c()
x3_array_reverse_shooting <- c()
a1_array_reverse_shooting <- c()
a3_array_reverse_shooting <- c()
s1_array_reverse_shooting <- c()
s3_array_reverse_shooting <- c()
l = length(a1_array_forward_shooting)
x1_t = x1_array_forward_shooting[l]
x3_t = x3_array_forward_shooting[l]
comienzo = Sys.time()
max = max(times_reverse_shooting)
t=times_reverse_shooting[1]
for(t in times_reverse_shooting){
if((100*t/max) %in% seq(from=0, to=100, by=3)){
print(paste(floor(100*t/max), "%", sep=""))
#print("\n")
}
t_previous = t-stepsize
a1_t = a1(t_previous)
a3_t = a3(t_previous)
s1_t = s1(t_previous)
s3_t = s3(t_previous)
guessmin = 0
guessmax = x3_t
x3_target = x3_t
x3_t = dx3_reverse_shooting(t, guessmin, guessmax, x3_target, t_previous)
# x3_t = x3_t - dx3(t-stepsize)*stepsize #
x1_t = (x1_t - dx1(t-stepsize)*stepsize)/(1+r1_stepsize)
## But then I can calulate s1, s3 again, and do another iteration.
# for(i in c(1-10)){
# # using the new x3_t
# s3_t = s3(t_previous)
# x3_t = dx3_reverse_shooting(t, guessmin, guessmax, x3_target)
# x3_t
# }
# s1_t = s1(t_previous)
# x1_t = (x1_t - dx1(t-stepsize)*stepsize)/(1+r_stepsize)
a1_array_reverse_shooting <- c(a1_t, a1_array_reverse_shooting)
a3_array_reverse_shooting <- c(a3_t, a3_array_reverse_shooting)
s1_array_reverse_shooting <- c(s1_t, s1_array_reverse_shooting)
s3_array_reverse_shooting <- c(s3_t, s3_array_reverse_shooting)
x1_array_reverse_shooting <- c(x1_t, x1_array_reverse_shooting)
x3_array_reverse_shooting <- c(x3_t, x3_array_reverse_shooting)
}
fin = Sys.time()
fin-comienzo
options(digits=7)
x1_array_reverse_shooting[1] ## 10^11
x3_array_reverse_shooting[1]
# View(x1_array_reverse_shooting)