に次のベクトルがあるとしmatlab
ます。
v1=[2 2 2 2 2 2 2]
v2=[2 2 2 2 3 2 2]
各ベクトルのすべての要素が等しいかどうかを確認するにはどうすればよいでしょうか?
編集(注)
2 つのベクトルを相互に比較することについて質問しているわけではありませんが、各ベクトル内の要素を一緒に比較しています。たとえば、v1
すべての要素が互いに等しいが、等しくv2
ない。
ありがとう。
次のようにして、ベクトル内のすべての要素が同じかどうかを確認できます。
>> all(v1 == v1(1))
ans =
1
>> all(v2 == v2(1))
ans =
0
length(unique(v1)) == 1
>> 1
length(unique(v2)) == 1
>> 0
ここに含めたくない数値、たとえばこの例の 0 を除外するには:
v3=[2 2 2 2 2 2 2 0]
length(unique(v3(v3 ~= 0))) == 1
>> 1
次のように要素ごとに比較できます。
v1 == v2
返す
[ 1 1 1 1 1 1 1 ]
次に、関数を使用して、すべての要素が true の場合all
に返します。true
all(v1 == v2)