making new objocts out of the content of a cell vector

1 view (last 30 days)
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!!

Accepted Answer

Sean de Wolski
Sean de Wolski on 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!

More Answers (1)

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

Products

Community Treasure Hunt

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

Start Hunting!