-4

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

v1=[2 2 2 2 2 2 2]

v2=[2 2 2 2 3 2 2]

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

编辑(注)

不是要比较这两个向量,而是要比较每个向量中的元素。例如,v1它的所有元素彼此相等,但v2不相等。

谢谢。

4

3 回答 3

2

您可以通过执行检查向量中的所有元素是否相同

>> all(v1 == v1(1))

ans =

     1

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

ans =

     0
于 2013-05-21T19:12:44.480 回答
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
于 2013-05-21T19:13:09.203 回答
0

您可以像这样按元素进行比较:

v1 == v2

返回

[ 1 1 1 1 1 1 1 ]

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

all(v1 == v2)
于 2013-05-21T18:54:21.620 回答