pwiselinterp <- function ( x, y ) #*****************************************************************************80 # ## pwiselinterp carries out piecewise linear interpolation. # # Licensing: # # Copyright 2016 James P. Howard, II # # The computer code and data files on this web page are distributed under # https://opensource.org/licenses/BSD-2-Clause, the BSD-2-Clause license. # # Modified: # # 22 February 2020 # # Author: # # Original R code by James Howard; # Modifications by John Burkardt. # # Reference: # # James Howard, # Computational Methods for Numerical Analysis with R, # CRC Press, 2017, # ISBN13: 978-1-4987-2363-3. # { source ( "/home/burkardt/public_html/r_src/linterp/linterp.R" ) n <- length ( x ) - 1 y <- y[ order(x) ] x <- x[ order(x) ] mvec = c() bvec = c() for ( i in 1 : n ) { p <- linterp ( x[i], y[i], x[i+1], y[i+1] ) mvec <- c ( mvec, p[2] ) bvec <- c ( bvec, p[1] ) } return ( list ( m = mvec, b = bvec ) ) }