r8vec_expand_linear Subroutine

subroutine r8vec_expand_linear(n, x, fat, xfat)

************80

! R8VEC_EXPAND_LINEAR linearly interpolates new data into an R8VEC.

Discussion:

This routine copies the old data, and inserts NFAT new values
between each pair of old data values.  This would be one way to
determine places to evenly sample a curve, given the (unevenly
spaced) points at which it was interpolated.

An R8VEC is an array of double precision real values.

Example:

N = 3
NFAT = 2

X(1:N)        = (/ 0.0,           6.0,             7.0 /)
XFAT(1:2*3+1) = (/ 0.0, 2.0, 4.0, 6.0, 6.33, 6.66, 7.0 /)

Licensing:

This code is distributed under the GNU LGPL license.

Modified:

10 October 2001

Author:

John Burkardt

Parameters:

Input, integer ( kind = 4 ) N, the number of input data values.

Input, real ( kind = 8 ) X(N), the original data.

Input, integer ( kind = 4 ) FAT, the number of data values to interpolate
between each pair of original data values.

Output, real ( kind = 8 ) XFAT((N-1)*(FAT+1)+1), the "fattened" data.

Arguments

Type IntentOptional Attributes Name
integer(kind=4) :: n
real(kind=8) :: x(n)
integer(kind=4) :: fat
real(kind=8) :: xfat((n-1)*(fat+1)+1)