Error using griddedInterpolant. The grid vectors must contain unique points

I get the error "Error using griddedInterpolant. The grid vectors must contain unique points"
My script is:
%interpolating modelled at observed depth
for j = 1:length(time_obs)
T_subsurf_mod(:,j) = interp1(depth_act(:,j),T_ice(:,j),depth_obs(:,j));
end
T_subsurf_mod and depth_obs are both 11x8784 double and depth_act is a 201x8784 double.
I have tried using the function "unique" on my input but does not work.

1 Comment

Well, the error message is pretty explicit and seeing your code doesn't really help us with that in any way! What do you mean by using unique 'doesn't work'?

Sign in to comment.

 Accepted Answer

Hello Nina,
If you still need help with this, please contact MathWorks Technical Support here: https://www.mathworks.com/support/contact_us/
Please be sure to provide a detailed description of the issue and attach any relevant files / code / examples required to investigate the issue.

3 Comments

Would you be able to tell us how you solved it? I'm getting the same issue.
Justin, what happened when you used code along the lines of what I suggested?

Sign in to comment.

More Answers (1)

%interpolating modelled at observed depth
for j = 1:length(time_obs)
[~, uidx] = unique(depth_act(:,j));
T_subsurf_mod(:,j) = interp1( depth_act(uidx,j), T_ice(uidx,j), depth_obs(:,j) );
end

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!