How to vectorize a specific for-loop
显示 更早的评论
I am trying to vectorize the for-loop hereafter. Would you have any hint? Thank you
for i = 1 : numel(text)-k+1 % "text" is a string
pattern(i,:) = text(i:i+k-1);
end
2 个评论
Jan
2016-12-9
I've formatted the code for you. Please use the "{} Code" button the next time. Thanks.
Paolo Binetti
2016-12-9
采纳的回答
更多回答(1 个)
Roger Stafford
2016-12-9
You might try the ‘hankel’ function:
n = numel(text);
nk = n-k+1;
pattern = hankel(text(1:nk),text(nk:n));
2 个评论
Jan
2016-12-9
The vectorized version I've posted:
bsxfun(@plus, (1:numel(str) - k + 1).', 0:k-1)
is the core of the hankel function.
Paolo Binetti
2016-12-17
类别
在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!