a = [1 3 5 7 8 9 10 15 16];
b = [2 4 14];

c = bsxfun(@minus,b',a)

c(c<0)=nan;
[~,ci] = min(c,[],2)
d = a(ci)