# start with 3 points
# calculate their mid point, assumming normal distribution
start_init <- 10
mid_init <- 20
end_init <- 50
start <- start_init
end <- mid_init
mid_1 <- mean(c(start,end))
start <- mid_init
end <- end_init
mid_2 <- mean(c(start,end))
# now we have 3 points
c(start_init, mid_1, mid_init, mid_2, end_init)
# further calculate the mid points between
start <- start_init
end <- mid_1
mid_1_1 <- mean(c(start,end))
start <- mid_1
end <- mid_init
mid_1_2 <- mean(c(start,end))
start <- mid_init
end <- mid_2
mid_2_1 <- mean(c(start,end))
start <- mid_2
end <- end_init
mid_2_2 <- mean(c(start,end))
# now we have 9 data points
res <- c(start_init, mid_1_1 ,mid_1, mid_1_2, mid_init, mid_2_1, mid_2, mid_2_2, end_init)
Я хочу сжать код выше, чтобы можно было определить рекурсивную глубину. Например, для глубины, равной 1, нам нужно сгенерировать 1 новую точку для всей доступной комбинации из 2 последовательных точек.
Как показано выше, мы начинаем с 3 точек (A, B, C), поэтому с глубиной, равной 1, у нас будет не более 2 дополнительных новых точек, которые находятся между A и B, а также B и C.