Извлечь суб- и супердиагонал матрицы в R

Как следует из заголовка, как извлечь субдиагональ и супердиагональ матрицы?

2 ответа

Решение

С помощью diag, Для супердиагональности вы просто отбрасываете последний ряд и первый столбец. Для поддиагонали отбросить первый ряд, последний столбец:

m <- matrix(1:9,nrow=3)

> m
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9
> diag(m)
[1] 1 5 9
> diag(m[-nrow(m),-1])
[1] 4 8
> diag(m[-1,-ncol(m)])
[1] 2 6

Возможно, вам придется изменить результаты....

help(lower.tri)
help(upper.tri)
help(diag)

upper.tri и lower.tri не включают диагонали.

Другие вопросы по тегам