【发布时间】:2018-03-22 14:55:40
【问题描述】:
我想从中间开始将矩阵的上部对角线相加,直到 (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)???否则我看不出这是如何工作的...... -
我不知道你想要的结果是什么。是
c(1,8,13,12,9,5,1),即非对角元素的总和?
标签: r matrix addition diagonal