Map between two cell arrays
이전 댓글 표시
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
Nicolas Douillet
2019년 12월 11일
Stephen23
2019년 12월 11일
"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
2019년 12월 11일
편집: Nicolas Douillet
2019년 12월 11일
"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
2019년 12월 11일
"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
2019년 12월 11일
편집: Nicolas Douillet
2019년 12월 11일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!