Running On matrix by diagonals

1 visualizzazione (ultimi 30 giorni)
Harel Harel Shattenstein
Harel Harel Shattenstein il 8 Lug 2018
Modificato: Guillaume il 8 Lug 2018
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,...]

Risposte (1)

Guillaume
Guillaume il 8 Lug 2018
Modificato: Guillaume il 8 Lug 2018
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

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by