# Create phase-shifted curves
set.seed(42)
t <- seq(0, 1, length.out = 100)
X <- matrix(0, 20, 100)
for (i in 1:20) {
phase <- runif(1, -0.1, 0.1)
X[i, ] <- sin(2*pi*(t + phase)) + rnorm(100, sd = 0.1)
}
fd <- fdata(X, argvals = t)
# Register curves
reg <- register.fd(fd)
print(reg)
# Compare original vs registered
oldpar <- par(mfrow = c(1, 2))
plot(fd)
plot(reg$registered)
par(oldpar)
Run the code above in your browser using DataLab