MATLAB: Logical Indexing problem with vector lengths

logical indexingMATLAB

The following statements result in the 'the number of elements in B and I must be the same' error:
P=[1 6 2 2 2 5 9 1 3]'
M=[5 6 4 7 8 0 5 3 7]'
grid=[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5]'
P(M>grid(P)) = P+1;
Why is this not correct?

Best Answer

P(M>grid(P)) = P+1;
should be
P(M>grid(P)) = P(M>grid(P))+1;
At least I guess that's what you want to do.