2

私は2つのマトリックスを持っています。どちらもnx2値があり、列1にはIDがあり、列2には値があります。

| id1 | A1 |
| id2 | A2 |
| id3 | A3 |
| id4 | A4 |

1つ目はオブジェクトに関するAデータを表し、2つ目はオブジェクトに関するデータを表しますB。両方のマトリックスから共通のIDを見つけて、それらを値だけの単一のマトリックスに入れる必要があります。

| A1 | B1 |
| A2 | B2 |
| A3 | B3 |
| A4 | B4 |

各行の条件は、同じIDに対応する値を表します。重要:両方の入力行列に共通ではないすべてのIDを無視してください。私のデータセットは長く、オクターブでそれを達成するための最良の方法を探しています(同様のソリューションはmatlabでも機能すると思います)。単一のマトリックス内のIDは一意です。

:id(単一の行列の場合)は行列に固有ですが、行番号や意味のない番号を表すものではないことを先に述べたことを忘れました。

4

1 に答える 1

4

これは、次の方法で最も簡単に実行できますintersect

[uniqueIDs, idxA, idxB] = intersect(A(:,1),B(:,1));

result = [A(idxA,2),B(idxB,2)]
于 2012-11-07T16:40:43.003 に答える