2017-01-10 12 views
1

Matlabコードの配列内の値の複数の要素を検索したい。 私は関数modとfindを見つけましたが、これらは要素のインデックスと、要素ではない のインデックスを返します。また、私は次のコードを書いた:Matlab:配列内の複数の要素を見つける

x=[1 2 3 4]; 
if (mod(x,2)==0) 
a=x; 
end 

これは動作しません。どうすればこの問題を解決できますか?

+0

インデックスを使用していないことに注意してください。 'a = x'は' x'を 'a'にコピーします –

答えて

3

は、2(または任意の数)の全ての倍数を見つけるために何のように見える、あなたはこの使用を達成することができます

a = x(mod(x,2) == 0) ; 
0

あなたはa = xxを行うと(mod(x,2)==0)が真か偽である場合にかかわらず、まだx=[1 2 3 4]です。 (mod(x,2)==0)に値を割り当てることができます。 val = (mod(x,2)==0)、この値を新しい配列に追加/追加します。

+0

編集ありがとう:-) – Petronella

0

は、ベクターnumberList = [ 1, 2, 3, 4, 5, 6];、あなたがindices = find(mod(numberList, number) ==0);を使用しての倍数であるnumberListにおける数字のインデックス(ベクトル内の位置)を見つけることができnumber = 2;数を考えます。

この倍数のリストを表示することができます:multiples = numberList(indices)

multiples = 

    2  4  6 
+0

編集ありがとう! – roadRunner

関連する問題