MATLAB: Retaining the max value during scattered data interpolation

interpolationMATLABscattered data

Hi,
Currently scatteredinterpolant averages out the valus of duplicate data points. Is there a way or a different function to keep the max (or min) of the duplicate values when performing scattered data interpolation?
Thanks,
Aykut

Best Answer

You'll need to do this manually before calling scatteredInterpolant. There are a few ways to do it, you could use a logical mask, filter the points out, etc... but here is one method:
  1. Use unique or uniquetol to determine where the duplicates are.
  2. Use max to find the maximum value among each set of duplicates
  3. Index into the array and change the value of all duplicates in each set to the maximum value.
When you call scatteredInterpolant on the resulting matrix, it will still average the duplicates, but they will all have the same value.