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?

 채택된 답변

James Tursa
James Tursa 2015년 4월 3일
편집: James Tursa 2015년 4월 3일

1 개 추천

E.g., one way to get these errors:
>> 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.5
I =
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.
In one case, you are attempting to assign to matrix A using the equivalent of linear indexing and the number of elements doesn't match.
In the other case, you are using a logical matrix to indicate the element positions to replace, and again the number of elements doesn't match.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

질문:

2015년 4월 3일

편집:

2015년 4월 3일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by