比较两个不同长度的数组(不等式的情况)

时间:2017-06-01 09:44:11

标签: matlab

我有两个不同长度的数组,例如A =[ 2 3 11 0 8 ]B=[ 2 6 8](数据在实际情况下更大)我想比较它们并找到验证abs(A(i)-B(j))> 2的元素

是否有任何快速函数可以执行此操作(例如ismember但是对于不等式)?

1 个答案:

答案 0 :(得分:1)

您可以创建一个小功能,检查所有可能的组合并返回“有效”组合。

A = [2 3 11 0 8];
B = [2 6 8];

C = isbigger(A,B,2); %output = the element that verify abs(A-B)>2

function COMB = isbigger(A,B,val)
    [X,Y] = meshgrid(A,B);
    X = X(:);
    Y = Y(:);
    index = abs((X(:)-Y(:)))>val;
    COMB = [X(index),Y(index)];
end

<强>输出:

C = 

 2     6
 2     8
 3     6
 3     8
11     2
11     6
11     8
 0     6
 0     8
 8     2