diff options
-rw-r--r-- | src/misc.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -327,10 +327,11 @@ double interp1d(double x, double *xp, double *yp, size_t n) size_t i; if (x <= xp[0]) return yp[0]; - if (x >= xp[n-1]) return yp[n-1]; i = (x-xp[0])/(xp[1]-xp[0]); + if (i > n-2) return yp[n-1]; + return yp[i] + (yp[i+1]-yp[i])*(x-xp[i])/(xp[i+1]-xp[i]); } |