Map between two cell arrays
Mostrar comentarios más antiguos
Hi,
I want to map two cell arrays.
Following the Containers.Map documentation it is possible : "Keys, specified as a numeric array, cell array of character vectors, or string array."
But if I try :
V = num2cell(rand(5,3));
K = num2cell([1 2; 3 4; 5 6; 1 2; 3 4]);
Then :
M = containers.Map(K,V);
I get the error :
Error using containers.Map
Unsupported key specified. See documentation for valid key types.
However K and V are both 5 x 1 cell arrays. What am I missing here ?
Thanks for help.
Nicolas
Edit : I would like each row of V matching with its key row in K.
7 comentarios
Nicolas Douillet
el 11 de Dic. de 2019
Stephen23
el 11 de Dic. de 2019
"However K and V are both 5 x 1 cell arrays."
Yes... they are cell arrays of numeric arrays.
"What am I missing here ?"
Do you have cell arrays of character vectors (as the documentation requires)? (hint: no)
Nicolas Douillet
el 11 de Dic. de 2019
Editada: Nicolas Douillet
el 11 de Dic. de 2019
"Do you see what I am trying to do ?"
Not really, as you did not explain anything about what you expect to get, and your code has unexplained "features" (e.g. cell arrays of numerics, non-unique keys).
Lets imagine that you get this to work: what value would you expect the key 1 to map to?
Nicolas Douillet
el 11 de Dic. de 2019
"You are right, there may be several values for a given key. "
In that case, if you use a key with multiple values do you expect MATLAB to return:
- one value (e.g. the last one defined using that key), or
- all of the values that have that key?
Please state your preference.
Nicolas Douillet
el 11 de Dic. de 2019
Editada: Nicolas Douillet
el 11 de Dic. de 2019
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!