【发布时间】:2016-03-01 02:10:24
【问题描述】:
我正在研究 MATLAB 中的一个函数,它比较两个基因序列并确定它们的相似性。为此,我将两个序列划分为更小的子字符串,方法是使用 for 循环遍历它们,一次移动一个核苷酸并将子字符串添加到单元阵列中。
例如,子字符串长度为 4 的字符串 ATGCAAAT 不会被拆分为
ATGC , AAAT
而是作为
ATCG、TGCA、GCAA、CAAA、AAAT
我试图加快函数的执行速度,因为这两个 for 循环提供了几乎 90% 的执行时间,我想知道 MATLAB 中是否有更快的方法来执行此操作。
这是我目前使用的代码:
SubstrSequence1 = {};
SubstrSequence2 = {};
for i = 1:length(Sequence1)-(SubstringLength-1)
SubstrSequence1 = [SubstrSequence1, Sequence1(i:i+SubstringLength-1)];
end
for i = 1:length(Sequence2)-(SubstringLength-1)
SubstrSequence2 = [SubstrSequence2, Sequence2(i:i+SubstringLength-1)];
end
【问题讨论】:
标签: string matlab split substring