Interpolate non-unique values

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?

2 Comments

In what way does it "not work"?
Error using griddedInterpolant
The grid vectors must contain unique points.

Sign in to comment.

 Accepted Answer

Matt J
Matt J on 18 Jun 2018
Edited: Matt J on 18 Jun 2018
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

More Answers (0)

Products

Release

R2018a

Asked:

on 18 Jun 2018

Commented:

on 6 Aug 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!