interp1(x, y, xi = x, method = c("linear", "constant", "nearest", "spline", "cubic"))
x
and y
must be of the same length.min(x)
and max(x)
.xi
.
yi
, the values of the underlying function
at the points in the vector xi
.Methods can be:
linear |
linear interpolation (default) |
constant |
constant between points |
nearest |
nearest neighbor interpolation |
spline |
cubic spline interpolation |
cubic |
cubic Hermite interpolation |
approx
, spline
x <- c(0.8, 0.3, 0.1, 0.6, 0.9, 0.5, 0.2, 0.0, 0.7, 1.0, 0.4) y <- x^2 xi <- seq(0, 1, len = 81) yl <- interp1(x, y, xi, method = "linear") yn <- interp1(x, y, xi, method = "nearest") ys <- interp1(x, y, xi, method = "spline") ## Not run: # plot(x, y); grid() # lines(xi, yl, col="blue", lwd = 2) # lines(xi, yn, col="black", lty = 2) # lines(xi, ys, col="red") # ## End(Not run) ## Difference between spline (Matlab) and spline (R). x <- 1:6 y <- c(16, 18, 21, 17, 15, 12) xs <- linspace(1, 6, 51) ys <- interp1(x, y, xs, method = "spline") sp <- spline(x, y, n = 51, method = "fmm") ## Not run: # plot(x, y, main = "Matlab and R splines") # grid() # lines(xs, ys, col = "red") # lines(sp$x, sp$y, col = "blue") # legend(4, 20, c("Matlab spline", "R spline"), # col = c("red", "blue"), lty = 1) # ## End(Not run)
Run the code above in your browser using DataCamp Workspace