我有2個陣列Matlab的陣列:聯合收割機基於第一列
陣列A(4×2):
1 2
4 13
5 14
6 13
陣列B(3×2):
2 11
4 34
7 56
我想獲得( 6x3):
1 2
2 11
4 13 34
5 14
6 13
7 56
即結合上面的2個不等s基於第一列中的元素進行ize,並創建一個新的數組,其中包含2個數組的列作爲不同的列。
感謝
我有2個陣列Matlab的陣列:聯合收割機基於第一列
陣列A(4×2):
1 2
4 13
5 14
6 13
陣列B(3×2):
2 11
4 34
7 56
我想獲得( 6x3):
1 2
2 11
4 13 34
5 14
6 13
7 56
即結合上面的2個不等s基於第一列中的元素進行ize,並創建一個新的數組,其中包含2個數組的列作爲不同的列。
感謝
你可以這樣說:
c = unique([a(:,1); b(:,1)]);
c(:,2:3) = NaN;
c(ismember(c(:,1), a(:,1)), 2) = a(:,2);
c(ismember(c(:,1), b(:,1)), 3) = b(:,2)
如果'a'或'b'可以包含'0',只需在第一行後面加上'c(:2:3)= NaN;'並刪除最後一行 –
@Luis Mendo ..謝謝你的提示。這是我忽視的一個很好的見解。 – Zanam
我們是否假定「A」和「B」的第一列總是排序? –
你是什麼要去使用,以填補空元素? –
您可以使用'join'(統計工具箱)或參閱http://stackoverflow.com/q/16217059/395857。 –