What is the difference in these errors?

1 回表示 (過去 30 日間)
Haley Inniger
Haley Inniger 2015 年 4 月 3 日
編集済み: James Tursa 2015 年 4 月 3 日
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 日
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 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by