ppfit: Piecewise Polynomial Fit

View source: R/ppfit.R

ppfitR Documentation

Piecewise Polynomial Fit

Description

Piecewise linear or cubic fitting.

Usage

ppfit(x, y, xi, method = c("linear", "cubic"))

Arguments

x, y

x-, y-coordinates of given points.

xi

x-coordinates of the choosen support nodes.

method

interpolation method, can be ‘constant’, ‘linear’, or ‘cubic’ (i.e., ‘spline’).

Details

ppfit fits a piece-wise polynomial to the input independent and dependent variables,x and y, respectively. A weighted linear least squares solution is provided. The weighting vector w must be of the same size as the input variables.

Value

Returns a pp (i.e., piecewise polynomial) structure.

Note

Following an idea of Copyright (c) 2012 Ben Abbott, Martin Helm for Octave.

See Also

mkpp, ppval

Examples

x <- 0:39
y <- c(  8.8500,  32.0775,  74.7375, 107.6775, 132.0975, 156.6675,
       169.0650, 187.5375, 202.2575, 198.0750, 225.9600, 204.3550,
       233.8125, 204.5925, 232.3625, 204.7550, 220.1925, 199.5875,
       197.3025, 175.3050, 218.6325, 163.0775, 170.6625, 148.2850,
       154.5950, 135.4050, 138.8600, 125.6750, 118.8450,  99.2675,
       129.1675,  91.1925,  89.7000,  76.8825,  83.6625,  74.1950,
        73.9125,  55.8750,  59.8675,  48.1900)

xi <- linspace(0, 39, 8)
pplin <- ppfit(x, y, xi)  # method = "linear"
ppcub <- ppfit(x, y, xi, method = "cubic")

## Not run: 
plot(x, y, type = "b", main = "Piecewise polynomial approximation")
xs <- linspace(0, 39, 100)
yslin <- ppval(pplin, xs)
yscub <- ppval(ppcub, xs)
lines(xs, yscub, col="red",lwd = 2)
lines(xs, yslin, col="blue")
grid()
## End(Not run)

pracma documentation built on Nov. 10, 2023, 1:14 a.m.