Demonstration function to compute the least cost path within a least cost matrix.
Arguments
- dist_matrix
(required, numeric matrix) Distance matrix generated by
psi_distance_matrix()
. Default: NULL- cost_matrix
(required, numeric matrix) Cost matrix generated from the distance matrix with
psi_cost_matrix()
. Default: NULL- diagonal
(optional, logical) If TRUE, diagonals are used during the least-cost path search. Default: TRUE
See also
Other psi_demo:
distance()
,
distances
,
psi_auto_distance()
,
psi_auto_sum()
,
psi_cost_matrix()
,
psi_cost_path_ignore_blocks()
,
psi_cost_path_sum()
,
psi_distance_lock_step()
,
psi_distance_matrix()
,
psi_equation()
Examples
#distance metric
d <- "euclidean"
#simulate two irregular time series
x <- zoo_simulate(
name = "x",
rows = 100,
seasons = 2,
seed = 1
)
y <- zoo_simulate(
name = "y",
rows = 80,
seasons = 2,
seed = 2
)
if(interactive()){
zoo_plot(x = x)
zoo_plot(x = y)
}
#distance matrix
dist_matrix <- psi_distance_matrix(
x = x,
y = y,
distance = d
)
#diagonal least cost path
#------------------------
cost_matrix <- psi_cost_matrix(
dist_matrix = dist_matrix,
diagonal = TRUE
)
cost_path <- psi_cost_path(
dist_matrix = dist_matrix,
cost_matrix = cost_matrix,
diagonal = TRUE
)
if(interactive()){
utils_matrix_plot(
m = cost_matrix,
path = cost_path
)
}
#orthogonal least cost path
#--------------------------
cost_matrix <- psi_cost_matrix(
dist_matrix = dist_matrix,
diagonal = FALSE
)
cost_path <- psi_cost_path(
dist_matrix = dist_matrix,
cost_matrix = cost_matrix,
diagonal = FALSE
)
if(interactive()){
utils_matrix_plot(
m = cost_matrix,
path = cost_path
)
}