0

I am working on a project where I have a very specific need: I need to be able to interpolate between values in a dataset without the output function containing outlandish ridges and troughs. Newtonian or Lagrange interpolation is great, though in some cases a function is created which has, in my own informal and incorrect terminology, unnecessary geometry. I don't like linear interpolation for my case either, as it seems to be an unrealistic, non-differentiable excuse. Is there a way I can satisfy my requirements for a curve-fitting, non-overshooting interpolation function for a dataset?

Here I will include relevant images, context, and links:

enter image description here

This is an image of a Lagrange Interpolation. As you can see there are prominent peaks where a more direct (differentiable) path from point to point would be preferable. Desmos demonstration

$f(x)=\sum_{i=1}^{n}\left(\frac{y_{1}\left[i\right]}{1+\left|y_{1}\left[i\right]-x\right|}\right)$ : My attempt to create the aforementioned function. I know, I know, not great... Desmos demonstration

A post which pertains to my issue, though ultimately lacks a solution to my problem: Interpolation method that does never overshoot

Kai
  • 109
  • 1
    How about interpolation using B-Spline or NURBS? – acat3 Jan 16 '24 at 05:28
  • or Inverse Distance interpolation, where maxima and minima can only be the data point you have, not any point in between – acat3 Jan 16 '24 at 05:34
  • Another method to avoid the Runge effect (heavy oscillations) is to use Tchebycheff-interpolation which does not use equidistant nodes. – Peter Jan 16 '24 at 06:11
  • 1
    Lagrange interpolation is known to have this huge drawback. As advised by Rezha, delve into the different families of interpolation by splines. You will not regret it ! – Jean Marie Jan 16 '24 at 09:50

0 Answers0