假设我们在matlab
中有以下向量:
v1=[2 2 2 2 2 2 2]
v2=[2 2 2 2 3 2 2]
我们如何检查每个向量中的所有元素是否相等?
编辑(注)
我不询问将两个向量相互比较,但每个向量内的元素在一起。例如,v1
的所有元素都相互相等,而v2
则没有。
感谢。
答案 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)