Counting occurrence of keys and values for Containers.Map in another Containers.Map
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ravindra
am 18 Aug. 2020
Kommentiert: J. Alex Lee
am 19 Aug. 2020
How it is possible to count occurrence of keys and values of Containers.Map A in B?
A = containers.Map({1026,1033,1038,1042},...
{[605.914,48.521],[490.6086 23.7932],[257.558,67.625],[439.090,225.924]});
B = containers.Map({1025,1026,1028,1029,1031,1033,1035,1037,1038},...
{[397.494,168.066],[605.914,48.521],[295.712,176.770],[226.249,209.288],...
[52.573,278.126],[490.6086 23.7932],[50.747,213.198],[38.992,4.417],[257.558,67.625]});
Thank you!!
0 Kommentare
Akzeptierte Antwort
J. Alex Lee
am 18 Aug. 2020
Just considering the keys, you can use ismember (though I'm not sure why there's a limitation that cells must be cell arrays of character vectors, and can't be numbers..)
[mask] = ismember(cell2mat(B.keys),cell2mat(A.keys))
cnt = sum(mask)
[mask] = ismember(B.keys,A.keys)
If you need to check if values are the same, you can iterate through the matched keys and use isequal()
2 Kommentare
J. Alex Lee
am 19 Aug. 2020
Yes, sorry should have clarified the last line doesn't work, but seems like a silly limitation by TMW to me. Glad it helps!
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!