# MATLAB: What is the difference in these errors

debugunknown error

In a code I am writing, I keep getting the error:
In an assignment  A(:) = B, the number of elements in A and B must be the same.
And I can not find anyone else who has this error. The one I can find is:
In an assignment  A(I) = B, the number of elements in A and B must be the same.
Could someone please explain the difference in these errors to me?

>> A = rand(3)A =    0.9649    0.9572    0.1419    0.1576    0.4854    0.4218    0.9706    0.8003    0.9157>> I = A<0.5I =     0     0     1     1     1     1     0     0     0>> A(:) = [1 2 3]In an assignment  A(:) = B, the number of elements in A and B must be the same. >> A(I) = [1 2 3]In an assignment  A(I) = B, the number of elements in B and I must be the same.