Finding the diagonal vector from a square matrix

2 vues (au cours des 30 derniers jours)
Lily
Lily le 20 Sep 2012
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?

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 20 Sep 2012
Modifié(e) : Azzi Abdelmalek le 20 Sep 2012
A = [2 9 4; 4 9 2; 1 5 0]
fliplr(diag(flipud(A))')
  4 commentaires
Matt Fig
Matt Fig le 21 Sep 2012
Also, for any square matrix with N rows:
A(N:N-1:N^2-1)
Andrei Bobrov
Andrei Bobrov le 21 Sep 2012
A(numel(A)-size(A,1)+1:-2:size(A,1))

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by