MATLAB: Assigning values to vector

assignmentcriteriavaluesvector

Hi everyone,
I have a vector A containing a range of values
A = [ 0 25 50 75 100 125 150 ]
and I want to assign values to a second vector B with the same size than A, depending on the following criteria:
% B(i) = 1 for A(i) <= 50
% B(i) = 2 for 50 < A(i) <= 100
% B(i) = 3 for 100 < A(i)
these are stored in the variables X and Y:
X = [ 1 2 3 ] % values to be assigned to B
Y = [ 0 50 100 inf ] % range limits for X
the result should be:
A = [ 0 25 50 75 100 125 150 ]
B = [ 1 1 1 2 2 3 3 ]
Is there any short way to do this?

Best Answer

Read about discretize. It does exactly what you want.