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

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

Ответы [ 2 ]

11 голосов
/ 27 марта 2012

Использование 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
1 голос
/ 27 марта 2012

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

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

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

...