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!