[英]Matlab error using matrix logical indexing A(I) = B
試圖做矩陣邏輯索引,但是Matlab似乎很瘋狂,我在這里缺少什么?
看:
>> A
A =
NaN NaN NaN NaN
>> B
B =
1 2 3 4
>> I
I =
1 1 0 0
>> A(I) = B
In an assignment A(I) = B, the number of elements in B and I must
be the same.
>> numel(B)
ans =
4
>> numel(A)
ans =
4
放心,MATLAB並不瘋狂。 正如您所顯示的, B
有4個元素,而A(I)
只有2個元素,因為I
只有2個true
值。
numel(B)
% 4
numel(A(I))
% 2
您試圖將4個元素分配給A
兩個元素,這正是您的錯誤狀態。
在分配A(I)= B中,B和I中的元素數必須相同
如果I
則只能使用您的特定值將B
兩個值分配給A
我猜想您只想這樣分配B
的對應元素。
A(I) = B(I);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.