create a matrix using a vector such that each row is one offset of the previous row

2 views (last 30 days)
Let say I have a vector v = [v1, v2, v3, v4, ..., vn], I would like to create a matrix using the vector such that each row is one offset of the previous row, i.e.
matrix = [v1 v2 v3;
v2 v3 v4;
v3 v4 v5;
v(n-2) v(n-1) v(n)]
How can I achieve this?

Answers (1)

Akira Agata
Akira Agata on 26 Jun 2020
If the output matrix is always N-by-3, the following straight-forward way might be enough:
matrix = [v(1:end-2);v(2:end-1);v(3:end)]';

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!