oh, i think i know why ... it probably thinks i'm trying to access "pi"'th element in that array where what I'm actually trying to do is create a key a(pi) that will return 3:14 array ... Does anyone know how to fix this?
How to make a dictionary of arrays?
46 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Solarmew
el 22 de Mayo de 2015
Respondida: Geoff Hayes
el 23 de Mayo de 2015
I can't seem to figure out how containers.Map works... It's doing ok with characters and numbers, but flips out when I try to feed it arrays. How do I make something like this?
function test
global a
a = containers.Map();
a(pi) = 3:14;
a(5) = 4:2:10;
end
Respuesta aceptada
Geoff Hayes
el 23 de Mayo de 2015
Solarmew - the default KeySet type for a container is char (see containers.Map for details) and so when you try the above, you probably see the following error message
Error using containers.Map/subsasgn
Specified key type does not match the type expected for this container.
The above error makes sense since your key of pi or 5 are of type double (or single). Since you want your keys to be doubles then just define the KeySet and _ValueType* properties as
a = containers.Map('KeyType','double','ValueType','any');
which means that
a =
Map with properties:
Count: 0
KeyType: double
ValueType: any
And so you can now use pi or 5 as a key
a(pi) = 3:14;
a(5) = 4:2:10;
Try the above and see what happens!
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Dictionaries en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!