如何确定两个以上数字的相等性?MATLAB

如何确定两个以上数字的相等性?MATLAB,matlab,equality,Matlab,Equality,我需要确定4个数的相等性。数字是大小(A,1)、大小(B,1)、大小(C,1)和大小(D,1),其中,例如 A=[12;34],B=[123,456],C=[12;34;56]和D=[12;34;56;78] 我试过这个,但它不起作用,因为它从左到右比较 size(A,1)==size(B,1)==size(C,1)==size(D,1) 我该怎么做?您可以使用功能isequal 哪一个进行数组相等性检查: isequal(size(A,1),size(B,1),size(C,1),size(

我需要确定4个数的相等性。数字是大小(A,1)、大小(B,1)、大小(C,1)和大小(D,1),其中,例如 A=[12;34],B=[123,456],C=[12;34;56]和D=[12;34;56;78] 我试过这个,但它不起作用,因为它从左到右比较

size(A,1)==size(B,1)==size(C,1)==size(D,1)

我该怎么做?

您可以使用功能
isequal

哪一个进行数组相等性检查:

isequal(size(A,1),size(B,1),size(C,1),size(D,1))

将大小放入向量中。你可以使用的

  • 。如果所有元素都相同,则方差应为零
  • 例如:

    Q=[size(A,1) size(B,1) size(C,1) size(D,1)]; 
    var(Q)==0 
    ans = 0    % // Values are not equal
    
    range(Q)==0
    ans = 0 % // Values are not equal
    
    range(B)==0
    ans =  1 % // Values are equal
    
    range(T)==0
    ans = 0 % // Values are not equal
    
    其他几个例子

    B=[6 6 6 6];
    var(B)==0
    ans =  1 % // All values are equal
    
    T=[5 4 6];
    var(T)==0
    ans = 0 % // values are not equal
    

  • <代码>范围(X)返回样本的最大值和最小值之间的差值。如果所有元素都相等,则该值应为零
  • 例如:

    Q=[size(A,1) size(B,1) size(C,1) size(D,1)]; 
    var(Q)==0 
    ans = 0    % // Values are not equal
    
    range(Q)==0
    ans = 0 % // Values are not equal
    
    range(B)==0
    ans =  1 % // Values are equal
    
    range(T)==0
    ans = 0 % // Values are not equal
    

    @Traker不客气,还请注意isequal适用于数组比较和单值比较。@Traker还注意,由于舍入错误,通常这不是一个好主意(即比较双精度的相等性)。但在这里是安全的,因为大小是直接从整数转换而来的。我认为这是不正确的。如果你有
    T=[5 4 6]
    并且你这样做:
    mean(T)==T(1)
    结果是1,并且不是每个分量都相等