MATLAB: Nearest value but bigger nearest

nearest value

Hi all! I have two matrix A(1:250,1)and B(1:50,1). I want to find for all values of A the nearest value in B, but the nearest bigger than the value of A. I have the function
[~, ii] = min(abs(bsxfun(@minus,A(:, 1)',B(:,1))));
but this function find only the nearest value. Smaller or bigger.
Thank you!

Best Answer

k = bsxfun(@minus,A(:)',B(:));
k(k >= 0) = -inf;
[~,ii] = max(k);
ii(all(k == -inf)) = 0;
Related Question