Сведение Matlab - PullRequest
       9

Сведение Matlab

0 голосов
/ 15 апреля 2009

Если мне дана строка букв 'abcd' и я хочу преобразовать ее в вектор чисел V = [1,2,3,4], который соответствует положению букв в таблице алфавита, как я могу это сделать?

Ответы [ 3 ]

5 голосов
/ 15 апреля 2009

Просто вычтите «а». Добавьте единицу, чтобы отобразить «а» в 1. Вычитание отправляет результаты в двойное число.

V = C - 'a' + 1;

Например,

C = 'helloworld';
C - 'a' + 1
ans =
     8     5    12    12    15    23    15    18    12     4
1 голос
/ 15 апреля 2009

Чтобы отобразить 'a' в 1, 'b' в 2 и т. Д., Используйте функцию DOUBLE , чтобы преобразовать символ обратно в его кодовый номер ASCII, затем сдвиньте значение:

V = double(charString)-96;

РЕДАКТИРОВАТЬ: На самом деле, вам даже не нужно звонить в DOUBLE. Символы будут автоматически преобразованы в числа с двойной точностью при выполнении любой арифметики с другим числом с двойной точностью (тип по умолчанию для переменных MATLAB). Итак, следующий ответ еще проще:

V = charString-96;
0 голосов
/ 15 апреля 2009

используйте uint8, затем вычтите значение символа 'a', затем вставьте его в вектор. ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...