Azzera filtri
Azzera filtri

making new objocts out of the content of a cell vector

1 visualizzazione (ultimi 30 giorni)
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!!

Risposta accettata

Sean de Wolski
Sean de Wolski il 18 Ott 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!

Più risposte (1)

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

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by