函数arithenco需要输入消息为正整数序列。因此,我需要使用以下映射将消息转换为数字序列message_int。
'A'→1,'C'→2,'G'→3,'T'→4。
答案 0 :(得分:4)
根据我的理解,您使用的字母表只包含四个值A,C,G,T(我猜想是DNA序列)。
简单的比较就足够了:
seq = 'TGGAGGCCCACAACCATTCCCTCAGCCCAATTGACCGAAAGGGCGCGA';
msg_int = zeros(size(seq));
msg_int(seq=='A') = 1;
msg_int(seq=='C') = 2;
msg_int(seq=='G') = 3;
msg_int(seq=='T') = 4;
答案 1 :(得分:1)
哦,重新阅读你的问题:你的映射并不那么简单。遗憾。强>
(因为darvidsOn写的相同我不会删除这个答案 - 它可能会给你一个开始 - 但它不会完全回答你的问题。)
查看http://www.matrixlab-examples.com/ascii-chart.html
您可以使用d = double('A')
将char
转换为double
- 然后您需要减去64
以获得所需的映射(因为{{1}是ascii代码65)。
答案 2 :(得分:-1)
This answer应该是您所需要的(使用double
的反向方法)。
编辑:请注意,这里的问题是关于小写字符,如果你想要大写,你需要减去64
(ASCII中的'A'是65,'a'是97 )。