Need to match Data
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I like to match the entries in column 2 of matrix A to the reference numbers of B. I'm going to do that for large data sets. Code like follows does exactly what I want but will be to slow. Is there an intelligent function/way available to do that? Thanks a lot!
A = [2 3 5 7; 23 54 76 86]';
B = [1:7]';
j=1;
for i = 1:7
if B(i,1) == A(j,1)
B(i,2) = A(j,2);
j = j+1;
end
end
result: B =
1 0
2 23
3 54
4 0
5 76
6 0
7 86
0 Commenti
Risposta accettata
Matt Fig
il 8 Ott 2012
B(A(:,1),2) = A(:,2)
2 Commenti
Matt Fig
il 8 Ott 2012
Johannes comments:
"Thank you. That was a bad example, my mistake.
What would be the solution for vectors like that:
A = [7 3 5 9; 23 54 76 86]';
B = [3:15]';"
Più risposte (2)
Andrei Bobrov
il 8 Ott 2012
Modificato: Andrei Bobrov
il 8 Ott 2012
A = [7 3 5 9; 23 54 76 86]';
B = [3:15]';
[a,b] = ismember(B,A(:,1));
B(a,2) = A(b(a),2);
0 Commenti
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!