Nothing
FirstKalmanR <- function(pos) {
kalmanfilter <- function(z) {
dt <- 1
A <- matrix(c( 1, 0, dt, 0, 0, 0, 0, 1, 0, dt, 0, 0, # x, y
0, 0, 1, 0, dt, 0, 0, 0, 0, 1, 0, dt, # Vx, Vy
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1), # Ax, Ay
6, 6, byrow=TRUE)
H <- matrix( c(1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0),
2, 6, byrow=TRUE)
Q <- diag(6)
R <- 1000 * diag(2)
xprd <- A %*% xest # predicted state and covriance
pprd <- A %*% pest %*% t(A) + Q
S <- H %*% t(pprd) %*% t(H) + R # estimation
B <- H %*% t(pprd)
kalmangain <- t(solve(S, B))
## estimated state and covariance, assign to vars in parent env
xest <<- xprd + kalmangain %*% (z - H %*% xprd)
pest <<- pprd - kalmangain %*% H %*% pprd
## compute the estimated measurements
y <- H %*% xest
}
xest <- matrix(0, 6, 1)
pest <- matrix(0, 6, 6)
N <- nrow(pos)
y <- matrix(NA, N, 2)
for (i in 1:N) {
y[i,] <- kalmanfilter(t(pos[i,,drop=FALSE]))
}
invisible(y)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.