检查向量元素的相等性

时间:2013-05-21 18:47:43

标签: matlab vector equality

假设我们在matlab中有以下向量:

v1=[2 2 2 2 2 2 2]

v2=[2 2 2 2 3 2 2]

我们如何检查每个向量中的所有元素是否相等?

编辑(注)

询问将两个向量相互比较,但每个向量内的元素在一起。例如,v1的所有元素都相互相等,而v2则没有。

感谢。

3 个答案:

答案 0 :(得分:2)

您可以通过

检查矢量中的所有元素是否相同
>> all(v1 == v1(1))

ans =

     1

>> all(v2 == v2(1))

ans =

     0

答案 1 :(得分:2)

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

答案 2 :(得分:0)

你可以这样比较元素:

v1 == v2

返回

[ 1 1 1 1 1 1 1 ]

如果所有元素都为真,则使用all函数返回true

all(v1 == v2)