函數arithenco需要輸入消息是一個正整數序列。因此,我需要通過使用以下映射將消息轉換爲數字序列message_int。在MATLAB中將字母映射爲整數
'A'→1,'C'→2,'G'→3,'T'→4。
函數arithenco需要輸入消息是一個正整數序列。因此,我需要通過使用以下映射將消息轉換爲數字序列message_int。在MATLAB中將字母映射爲整數
'A'→1,'C'→2,'G'→3,'T'→4。
哦,剛剛重讀你的問題:你的映射不是那麼簡單。抱歉。
(因爲darvidsOn寫的相同我不會刪除這個答案 - 它可能會給你一個開始 - 但它不會完全回答你的問題)。
看一看http://www.matrixlab-examples.com/ascii-chart.html
您可以使用d = double('A')
轉換一個char
爲double
- 那麼你將需要減去64
以獲得您想要的映射(因爲A
是ASCII碼65)。
+1雖然我沒有看你的答案,但我基本上寫了你在隨後編輯我的答案時寫的內容,所以我給你信用:) – darvids0n
This answer應該是你需要的(使用double
的相反方法)。
編輯:請注意,這裏的問題是關於小寫字符,如果你想你大寫需要減去64
而不是(「A」的ASCII碼爲65,「A」是97)。
根據我的理解,您使用的字母表只包含四個值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;
這一切在MATLAB正在做? (爲什麼C++和html標籤?) – Tom
這聽起來有點像家庭作業。 – darvids0n
@Årjuné - 下一次你需要幫助完成作業,你需要發佈你試圖解決問題的方式。請付出一些努力,因爲那些會回答你問題的人肯定會。 –