2016-04-19 59 views
1

我已經搜索了一個Octave函數,它有助於矩陣的條件合併,但目前還沒有。我的目標是使用沒有循環的矢量來做到這一點。這是我正在嘗試做的一個例子。矩陣的八度條件合併

A= [1 1 
    2 2 
    3 1 
    5 2]; 


B= [1 9 
    2 10]; 

我想獲得C作爲

C= [1 1 9 
    2 2 10 
    3 1 9 
    5 2 10]; 

是否有需要AB和列(S)的加入,然後產生C列表的功能?

回答

2

可以使用second output of ismember找到A第二列的出現在B第一列,然後用它來從B第二列搶特定條目構建C

[~, inds] = ismember(A(:,2), B(:,1)); 
C = [A, B(inds,2)]; 

%// 1  1  9 
%// 2  2 10 
%// 3  1  9 
%// 5  2 10 
+0

謝謝。太棒了。 – user3634351