开发者

How to convert numeric results in symbols or strings?

this is my problem. I made an algorithm that makes permutations of certain words. I substituted each word with a numeric value so I can make arithmetical operations with them (e.g. 1 = 'banana' 2 = 'child' 3 = 'car' 4 = 'tree' etc.). Let's say开发者_JS百科 that after running an algorithm, matlab gave me this matrix as result: ans = [2,2,1; 4,3,3] What I never can figure out is how to tell him - substitute digits with symbols and write:

ans = [child,child,banana; tree,car,car] - so I don't have to look up every number in my chart and replace it with a corresponding word!?


If you have an array with your words, and another array with the indices, you can produce an array that replaces every index with the corresponding word like so:

words = {'banana','child','car','tree'};

numbers = [2 2 1;4 3 3];

>> words(numbers)
ans = 
    'child'    'child'    'banana'
    'tree'     'car'      'car'


You can also use the ordinal datatype if you have the statistics toolbox.

>> B = ordinal([2 2 0; 4 3 3], {'banana','child','car','tree'})
B = 
     child      child      banana 
     tree       car        car    

Note that it handles zeros automatically. Then you can do things like:

>> B=='child'
ans =
     1     1     0
     0     0     0
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜