How to vectorize a specific for-loop
Show older comments
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 Comments
Jan
on 9 Dec 2016
I've formatted the code for you. Please use the "{} Code" button the next time. Thanks.
Paolo Binetti
on 9 Dec 2016
Accepted Answer
More Answers (1)
Roger Stafford
on 9 Dec 2016
You might try the ‘hankel’ function:
n = numel(text);
nk = n-k+1;
pattern = hankel(text(1:nk),text(nk:n));
2 Comments
Jan
on 9 Dec 2016
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
on 17 Dec 2016
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!