MATLAB: самый быстрый способ конвертировать символы в пользовательский набор чисел и обратно
Я ищу быстрый способ преобразования большого массива символов строчных букв, пробелов и периодов в набор целых чисел и наоборот в MATLAB.
Обычно я бы использовал функции double и char, но я хотел бы использовать специальный набор целых чисел для представления каждой буквы (так что «а» соответствует '1', 'b' соответствует «2».... 'z' соответствует 26 ' соответствует 27 и '.' соответствует 28)
Текущий метод, который у меня есть:
text = 'quick brown fox jumps over dirty dog';
alphabet ='abcdefghijklmnopqrstuvwxyz .';
converted_text = double(text);
converted_alphabet = double(alphabet);
numbers = nan(28,1)
for i = 1:28
numbers(converted_text(i)==converted_alphabet(i)) = i;
end
newtext = nan(size(numbers))
for i = 1:size(numbers,1)
newtext(numbers==i) = alphabet(i)
end
К сожалению, это занимает довольно много времени для больших массивов, и яИнтересно, есть ли более быстрый способ сделать это в MATLAB?