簡體   English   中英

使用矩陣邏輯索引A(I)= B的Matlab錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM