MATLAB: Interpolate non-unique values

interpolationMATLABnon-unique

I have two vectors for a symmetrical flyover to compute an aircraft noise footprint:
pressure = [0 0.5 1 2 4 2 1 0.5 0]
tUnequal = [4 4.3 5 6 6.3 7 7.13 9]
I want to interpolate that symmetric pressure vector for an evenly spaced time like:
tEqual = [4 5 6 7 8 9].
Interp1 does not work in this case due to the symmetry of the pressure vector:
Error using griddedInterpolant
The grid vectors must contain unique points.
Any suggestions?

Best Answer

This might be what you want
>> pressureEqual=interp1(tUnequal, pressure(1:length(tUnequal)), tEqual)
pressureEqual =
0 1.0000 2.0000 2.0000 0.7674 0.5000