Я хотел бы сложить диагонали верхней части матрицы, начиная с середины, с приращением в столбце до (1,n), где n будет последним столбцом, и сохранить каждую сумму каждой диагонали. Мой код добавляет только среднюю диагональ, как я могу перебрать матрицу, чтобы получить сумму диагоналей
A <- matrix(c(2, 4, 3, 1,
5, 7, 1, 2,
3, 2, 3, 4,
1, 5, 6, 0), # the data elements
nrow = 4, # number of rows
ncol = 4, # number of columns
byrow = TRUE) # fill matrix by rows
sum <- 0
print(A)
for (a in 1){
for (b in 1:ncol){
if (a<-b){
sum = sum + A[a,b]
print (sum)
}
}
}
Вот мой результат
> print(A)
[,1] [,2] [,3] [,4]
[1,] 2 4 3 1
[2,] 5 7 1 2
[3,] 3 2 3 4
[4,] 1 5 6 0
for (a in 1){
for (b in 1:ncol){
if (a<-b){
sum = sum + A[a,b]
tail(sum, n=1)
}
}
}
12
if (a==b)
??? иначе я не понимаю, как это будет работать... - person Ben Bolker   schedule 22.03.2018c(1,8,13,12,9,5,1)
, то есть суммы недиагональных элементов? - person Ben Bolker   schedule 22.03.2018