Counting occurrence of keys and values for Containers.Map in another Containers.Map
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Ravindra
el 18 de Ag. de 2020
Comentada: J. Alex Lee
el 19 de Ag. de 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 comentarios
Respuesta aceptada
J. Alex Lee
el 18 de Ag. de 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 comentarios
J. Alex Lee
el 19 de Ag. de 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!
Más respuestas (0)
Ver también
Categorías
Más información sobre Construct and Work with Object Arrays en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!