Есть ли функция для получения косой диагонали матрицы в 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