I’m thinking of make a command to change Hankel matrix into x time series
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
David Goodmanson
2023-6-29
编辑:David Goodmanson
2023-6-30
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 个评论
David Goodmanson
2023-6-29
编辑:David Goodmanson
2023-6-30
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?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!