Merge matrices by matching first column values in MATLAB?
Mostra commenti meno recenti
I have two matrices A and B, where they share some common values in the first column. I would like to merge these into one matrix giving only the values they have in common in the first column along with their respective values in the other columns. For example
A= 4 5.3
5 7.3
8 2.5
9 4.7
B= 1 3.6 0.4
2 3.9 0.6
3 9.2 0.9
4 5.1 0.1
5 0.7 0.5
6 8.3 0.7
7 7.3 0.2
8 1.6 0.6
9 4.6 0.2
The output would be
C= 4 5.3 5.1 0.1
5 7.3 0.7 0.5
8 2.5 1.6 0.6
9 4.7 4.6 0.2
My actual data sets are much longer but this is the general idea.
Thanks
Risposta accettata
Più risposte (1)
Azzi Abdelmalek
il 6 Lug 2016
A= [4 5.3
5 7.3
8 2.5
9 4.7]
B= [1 3.6 0.4
2 3.9 0.6
3 9.2 0.9
4 5.1 0.1
5 0.7 0.5
6 8.3 0.7
7 7.3 0.2
8 1.6 0.6
9 4.6 0.2]
B1=B(ismember(B(:,1),A(:,1)),:)
C=[A B1(:,2:3)]
Categorie
Scopri di più su Matrix Indexing in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!