Create a new matrix from a mapping process
    6 views (last 30 days)
  
       Show older comments
    
I have mapped a set of numbers to a list of strings for example
KS = {'A','B','C'}; VS = [1:3]; x = containers.Map(KS,VS);
I have a 1 coloumn vector that looks like this
'A' 'B' 'B' 'C' 'A'
I want to create a new matrix which maps the letters to their respective numbers - so this would return 1 2 2 3 1
many thanks
0 Comments
Accepted Answer
  Andrei Bobrov
      
      
 on 18 Apr 2013
        
      Edited: Andrei Bobrov
      
      
 on 18 Apr 2013
  
      Vin = {'A' 'B' 'B' 'C' 'A'};
return1 = [Vin{:}] - 'A' + 1;
or
KS = {'A','B','C'};
VS = [1:3]; 
Vin = {'A' 'B' 'B' 'C' 'A'};
[~,ii] = ismember(Vin,KS);
out = VS(ii);
More Answers (0)
See Also
Categories
				Find more on Interpolation of 2-D Selections in 3-D Grids in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!