interp1 - error grid vectors must contain unique points

Dear All,
In my script I have two date arrays, where one is larger then the other. I am trying to determine the absolute time difference in hours between the timestamp from dataset 1 and the nearest date of dataset 2.
I use function interp1(x, y, xq, 'nearest'), and run into error message saying; 'The grid vectors must contain unique points'.
Code:
BuoyTimeNearest = abs(hours(Date - interp1(DateBuoy, DateBuoy, Date, 'nearest')));
Where Date and DateBuoy are both datetime arrays, Data = 133191 x 1, and DateBuoy = 13253 x 1.
I have plotted the data against array with step 1, and cannot find any duplicate points.
Date (Just datetime at 0.5hr interval)
DateBuoy (some missing datetimes but no duplicate values).
If I change the code to include unique:
BuoyTimeNearest = abs(hours(Date - interp1(unique(DateBuoy), unique(DateBuoy), Date, 'nearest')));
It does work, but run into trouble further along the script. And had been using the script for a while without any issues before.
Pleased to hear your suggestions.
Thanks!

댓글 수: 6

Adam
Adam 2019년 4월 12일
편집: Adam 2019년 4월 12일
You say DateBuoy contains no duplicate values but there are numerous places on your plot where it looks flat, though obviously just from a plot it is impossible to tell if the values at either end of the flat section are truly identical or just very similar.
Wessel ter Laare
Wessel ter Laare 2019년 4월 12일
편집: Wessel ter Laare 2019년 4월 12일
Hi Adam,
Thanks for your quick response. The flat parts of the plot are data gaps. Would that matter for the use of interp1? Do not suppose, since it hasn't been an issue previous?
Thanks.
Rgrds,
@Wessel ter Laare: please upload your data in one .mat file by clicking the paperclip button.
Hi Stephen, Attached. Thanks!
numel( unique( DateBuoy ) )
gives an answer 2 fewer than the total number of points in DateBuoy so 2 of the values in there somewhere are non-unique.
Yep. That dit the trick! Thanks a lot.

댓글을 달려면 로그인하십시오.

답변 (0개)

태그

질문:

2019년 4월 12일

댓글:

2019년 4월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by