[Math] How to interpolate between sets of data

data analysisinterpolation

I'm probably using the wrong terminology, making it difficult to find a starting point.

I have a set of motor data that looks like this:

enter image description here


I can easily create a trend line for a given flow rate (GPM). For example, the 4 GPM trend line is:

y = 6E-12x4 - 3E-08x3 + 8E-06x2 - 0.0503x + 1161.8

If I input 2300 psi for x I get the correct interpolation of 937.86 RPM.


Question

What I need is for the equation to take into account all flow rates dynamically.

i.e. The user will want to know what the RPM was for 2300 psi at 4.5 GPM.

So I need to interpolate between interpolations… I'm sure there is a standard term for this 😉


Answer doesn't have to be in excel but that's what I'm using to prove out the algorithm.

Also, I'm trying to automate this because I have multiple tables of data for different sizes of motors and different values such as speed and torque and want to allow the user to pick different motors to update their calculations automatically without pulling out the book.

Best Answer

Your data seems to be pretty smooth. A simple solution will be the so-called bilinear interpolation. For a given (PSI, GPM) pair you can find the four neighboring known data points: in the case of (2300, 4.5), the neighbors are 2030, 2400, and 4, 5.5.

You perform two independent linear interpolations on PSI, and then a final linear interpolation on GPM using these two interpolated values. (Note that reversing the order of interpolation, GPM then PSI, you get the same results.)