I’m thinking of make a command to change Hankel matrix into x time series
2 views (last 30 days)
Show older comments
y = [17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9] my question how could I use function to be x = [17 ,24,5,7,13,20,21,3,9].
1 Comment
Shantanu Dixit
on 29 Jun 2023
Could you please elaborate, it's a bit unclear what you're asking. Thanks
Answers (1)
David Goodmanson
on 29 Jun 2023
Edited: David Goodmanson
on 30 Jun 2023
Hi Ahmed,
here is one way
y = magic(5)
n = size(y,2);
x = zeros(1,2*n-1);
x(1:2:end) = diag(y).';
x(2:2:end) = diag(y,1).'
2 Comments
David Goodmanson
on 29 Jun 2023
Edited: David Goodmanson
on 30 Jun 2023
Hi Ahmed,
your example was a square matrix. I changed the code in the answer so it works when there are more rows than columns, such as 5000x3000. Except in that case, at row 3000 the pattern will hit column 3000 at the right hand side of the matrix. This leaves a 2000x3000 matrix at the bottom that is not being sampled from. Is anythng supposed to happen then?
See Also
Categories
Find more on Logical 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!