MATLAB: Making new objocts out of the content of a cell vector

cell vectorMATLAB

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!!

Best Answer

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!