Running On matrix by diagonals

1 次查看(过去 30 天)
I am looking for an algorithm that can collect the elements of a matrix in the following way
It can be a non square matrix too
So the answer would be [a41,a42,a31,a43,a32,a21,a44,...]

回答(1 个)

Guillaume
Guillaume 2018-7-8
编辑:Guillaume 2018-7-8
One option:
[rows, cols] = size(A);
indices = (1:cols+rows)*rows - (0:rows-1)'*(rows+1);
indices = indices(indices > 0 & indices <= numel(A));
A(indices)
Require R2016b or later for the implicit expansion of the subtraction

类别

Help CenterFile Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by