Есть ли функция для получения косой диагонали матрицы в Matlab?

A=[a_11, a_12; a_21, a_22]

Косая диагональ [a_12, a_21], Прямо сейчас я переворачиваю матрицу и использую diag.

1 ответ

Решение

В качестве альтернативы fliplr а также diagВы можете индексировать непосредственно в матрицу следующим образом:

A = magic(3);
s = length(A);
idx = s:(s-1):(s*(s-1)+1);
%# for anti-diagonal, use the following 
%#idx = (s*(s-1)+1):(-s+1):s;

skewDiag = A(idx)
skewDiag =
     4     5     6
Другие вопросы по тегам