# Resampling or interpolating non-uniform 2D measurements

I am not sure what I should call what I am looking for, but I have some measurements that have 2 independent variables and I would like to get an interpolated value at a specified x,y coordinate. My measurements are not uniformally sampled on both axis, which prevent me from using a tool like Matlab interp2D. My goal is to resample these measurement to create a uniform grid of values that I can feed to a linear interpolator during a simulation.

The data is efficiency measurements of an electric motor taken by a power analyzer with respect to torque/speed. Each measurements is observed for severals seconds and the DC component is taken. Efficiency measurements are expected to be slightly changes when speed/torque changes, so no high frequency component.

What tool/algorithm should I look for? Intuitively, I would resolve this problem by making a mesh of triangle and then interpolating based on the 3 nearest point, or maybe a surface that would reduce the mean error squared. I'd like to use an already proven technique.

I mainly use Matlab and Scipy.

Thanks

• Do you only need to get "an interpolated value at a specified x,y coordinate"? Any more hint about data precision, noise? – Laurent Duval Sep 5 '18 at 21:42
• I've updated my question – Pier-Yves Lessard Sep 6 '18 at 1:01
• According to the documentation for MATLAB's interp2(), there is no requirement that the input data be uniformly sampled. It should do exactly what you want already. – Jason R Sep 6 '18 at 11:24
• Hmm, I didn't see that I could pass scattered data to interp2. I ended up using scatteredInterpolant() – Pier-Yves Lessard Sep 6 '18 at 17:49