function [indexInY] = indexXinY(X,Y) lenX = length(X); lenY = length(Y); [Xs, IX] = sort(X); [Ys, IY] = sort(Y); indY = 1; indexXSinYS = zeros(1,lenX); %indexXSinYS(i) holds the index of Xs in the Y for indX = 1:lenX while (indY<=lenY && mystrcmpi(Xs{indX}, Ys{indY})>0) indY = indY+1; end if indY>lenY for i=indX:lenX indexXSinYS(i) = 0; end break; end if mystrcmpi(Xs{indX}, Ys{indY})== 0 indexXSinYS(indX) = indY; else indexXSinYS(indX) = 0; end end indexInY = zeros(1, lenX); for i=1:lenX if indexXSinYS(i) == 0 indexInY(IX(i)) = 0; else indexInY(IX(i)) = IY(indexXSinYS(i)); end end