Как преобразовать числовые результаты в символы или строки? - PullRequest
3 голосов
/ 14 апреля 2011

это моя проблема. Я сделал алгоритм, который делает перестановки определенных слов. Я заменил каждое слово числовым значением, чтобы я мог выполнять с ним арифметические операции (например, 1 = «банан» 2 = «ребенок» 3 = «автомобиль» 4 = «дерево» и т. Д.). Допустим, что после запуска алгоритма, Matlab дал мне эту матрицу в результате: ANS = [2,2,1; 4,3,3] Что я никогда не могу понять, так это сказать ему: замените цифры символами и напишите:

ans = [ребенок, ребенок, банан; дерево, машина, машина] - поэтому мне не нужно искать каждое число в моей таблице и заменять его соответствующим словом!?

Ответы [ 2 ]

1 голос
/ 14 апреля 2011

Вы также можете использовать тип данных ordinal , если у вас есть набор инструментов статистики.

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

Обратите внимание, что он обрабатывает нули автоматически.Тогда вы можете делать такие вещи, как:

>> B=='child'
ans =
     1     1     0
     0     0     0
1 голос
/ 14 апреля 2011

Если у вас есть массив с вашими словами и другой массив с индексами, вы можете создать массив, который заменяет каждый индекс соответствующим словом следующим образом:

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

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

>> words(numbers)
ans = 
    'child'    'child'    'banana'
    'tree'     'car'      'car'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...