Effacer les filtres
Effacer les filtres

making new objocts out of the content of a cell vector

1 vue (au cours des 30 derniers jours)
Birgit
Birgit le 18 Oct 2012
Hello!
I am everything else than an expert in Matlab, but I hope that my explanation still makes sense to you. My problem is the following:
I have a vector that looks like this:
B = {'USA' 'GER' 'JAP'...}'; (it is actually 110 country codes
now I want to assign each country code a number like: USA = 1; GER = 2; JAP = 3; ... (keeping the same order as in the vector)
Is there a quick way of doing this?? I would be very glad if I don't have to write 110 country codes by hand!
Thaaaaank you very much!!

Réponse acceptée

Sean de Wolski
Sean de Wolski le 18 Oct 2012
It sounds like you might want to use a containers.Map object.
doc containers.Map
And an example:
cm = containers.Map({'USA';'GER';'JAP'},[1;2;3]);
And a sanity check, is 'USA' number 1?
cm('USA')
You betcha!

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 18 Oct 2012
B = {'USA' 'GER' 'JAP'}
B=[B;num2cell(1:numel(B))]

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by