A compact way to find elements of an array which are greater, equal, or less than the elements of a second array
5 views (last 30 days)
Hi, I have two arrays a1 and a2 and I would like to get a third array b which indicates me which elements of a1 are greater, equal or less than the elements of a2. I would indicate the elements of b with 1, 0 and -1 if the elements of a1 are greater, equal or less than the elements of a2, respectively.
a1 = [0 4 7 8 1 2 3]';
a2 = [4 4 6 9 9 1 1]';
b = (a1>a2);
b = double(b);
b(b==0) = -1; % assign "-1" to the elements of a1 which are less than the elements of a2
c = (a1==a2);
b(find(c==1)) = 0 % assign "0" to the elements of a1 which are equal to the elements of a2
Is there any, better/more compact way, maybe in a couple of lines of code to get the same result?