Finding the diagonal vector from a square matrix

Hi
I'm trying to find the diagonal of an square matrix but NOT the diagonal vector of the matrix from left to right. I'm trying to find the diagonal of an matrix fram right to left. Below is an example of what I'm trying to achieve:
A = [2 9 4; 4 9 2; 1 5 0];
diagA = diag(A); %Diagonal of the A matrix from left to right
%THE ANSWER: digA = [2 9 0]'
But what I'm trying to get is the diagonal from the A matrix from right to left for [4 9 1]
Is this possible? Can you please help me?

 Accepted Answer

A = [2 9 4; 4 9 2; 1 5 0]
fliplr(diag(flipud(A))')

4 Comments

thx so much Azzi ;) This is a really cool soultion!
or simpler
diag(rot90(A))'
or
diag(fliplr(A))'
Also, for any square matrix with N rows:
A(N:N-1:N^2-1)
A(numel(A)-size(A,1)+1:-2:size(A,1))

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!