2 つのマトリックスの重複する行を 1 つの列に関して削除する必要があります。
例えば:
マトリックス 1:
1, 5;
2, 23;
3, 51;
4, 21;
5, 661;
マトリックス 2:
4, 11;
5, 601;
6, 341;
7, 5;
etc.
次のようになります。
結果マトリックス:
1, 5;
2, 23;
3, 51;
4, 11;
5, 601;
6, 341;
7, 5;
ありがとう!キリスト教徒
別の方法として、選択した列の最後の出現を常に保持します。
x = [x1;x2];
columnIndex = 1; % column 1
[~, i] = unique(x(:, columnIndex), 'last');
xMerge = x(i, :);
インデックスを作成する複数の行列と異なる列に適用されます。
union
追加のインデックス出力で使用できます。
x1 = [ ...
1, 5; ...
2, 23;...
3, 51;...
4, 21;...
5, 661];
x2 = [ ...
4, 11;...
5, 601;...
6, 341;...
7, 5];
[~, ixs1, ixs2] = union(x1(:,1), x2(:,1));
xMerge = [...
x1(ixs1,:); ...
x2(ixs2,:)];
これにより、次の結果が得られます。
>> xMerge
xMerge =
1 5
2 23
3 51
4 11
5 601
6 341
7 5