MATLABで小文字、スペース、ピリオドの大きな文字配列を整数のセットに、またはその逆に変換する簡単な方法を探しています。
通常は double 関数と char 関数を使用しますが、特別な整数セットを使用して各文字を表現したいと思います ('a' が '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 でこれを行うためのより迅速な方法があるかどうか疑問に思っています。