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.


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.

  • $\begingroup$ It is a 2D interpolation because your speed is a function of pressure and GPM, which are given at isolated points of a plane (think pressure on the X axis and GPM on the y-axis) with speed on the Z-axis. $\endgroup$ – user_of_math Oct 8 '14 at 18:28
  • $\begingroup$ Do you have access to MATLAB? It has a whole set of 1D,2D and 3D interpolation functions with support for linear, cubic and spline interpolation. $\endgroup$ – user_of_math Oct 8 '14 at 18:29
  • $\begingroup$ @user_of_math I'll read up on 2D interpolations. That was probably my missing term. I don't have MATLAB but we just got licenses to MATHCAD. Thanks $\endgroup$ – Portland Runner Oct 8 '14 at 18:30

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.)

  • $\begingroup$ I found this article which uses piecewise linear interpolation in Excel and came out with a result within .001%. It appears to follow the same general structure you outlined here. $\endgroup$ – Portland Runner Oct 8 '14 at 19:09
  • $\begingroup$ Actually, your data is so smooth that the whole dataset could be approximated with a single plane (RPM = a PSI + b GPM +c), with the coefficients found by least-squares regression. And I am pretty sure that a bivariate quadratic model (quadric equation, RPM = a PSI² + b PSI.GPM + c PSI² + d GPM + e PSI + f) would give excellent results. $\endgroup$ – Yves Daoust Oct 8 '14 at 19:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.