[英]Matlab: find multiple elements in an array
我想在Matlab代碼的數組中找到一個值的多個元素。 我找到了功能mod並且找到了,但是它們返回元素的索引,而不是元素的索引。 此外,我編寫了以下代碼:
x=[1 2 3 4];
if (mod(x,2)==0)
a=x;
end
但這不起作用。 我怎么解決這個問題?
看起來像您找到2(或任意數字)的所有倍數的方法,可以使用以下方法實現此目的:
a = x( mod(x,2) == 0 ) ;
當您執行a = x
,無論(mod(x,2)==0)
是true還是false, x
仍然是x=[1 2 3 4]
。 您可以為(mod(x,2)==0)
分配一個值,例如val = (mod(x,2)==0)
,然后將此值追加/添加到新數組中。
給定一個向量numberList = [ 1, 2, 3, 4, 5, 6];
一個number = 2;
你可以找到索引在數字的(在載體中的位置) numberList
了在使用數的倍數indices = find(mod(numberList, number) ==0);
。
如有必要,您可以顯示此倍數調用的列表: multiples = numberList(indices)
。
multiples =
2 4 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.