0
我有兩個陣列具有不同的長度,例如A =[ 2 3 11 0 8 ]
和B=[ 2 6 8]
(該數據是在實際情況下,更大的),我想對它們進行比較,並發現驗證abs(A(i)-B(j))> 2
元件。比較不同長度(不等的情況下)的兩個陣列
是否有任何快速的功能,這樣做(如ismember
,但不平等)?
我有兩個陣列具有不同的長度,例如A =[ 2 3 11 0 8 ]
和B=[ 2 6 8]
(該數據是在實際情況下,更大的),我想對它們進行比較,並發現驗證abs(A(i)-B(j))> 2
元件。比較不同長度(不等的情況下)的兩個陣列
是否有任何快速的功能,這樣做(如ismember
,但不平等)?
您可以創建一個小函數來檢查所有可能的組合並將「有效」組合發回給您。
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
OUTPUT:
C =
2 6
2 8
3 6
3 8
11 2
11 6
11 8
0 6
0 8
8 2
謝謝你的回答! – ransa
快速功能是一般的快,是因爲量化的,它依賴於具有相同的大小。 –
這種情況下的正確答案是什麼? '[0 1 1]'? – houtanb
你有'我'和'j'指數。你想比較所有元素對(在你的例子中是3 * 5)嗎?如果是,請嘗試'[ii,jj] = find(abs(bsxfun(@minus,A(:),B(:)。'))> 2)' –