【发布时间】:2018-06-20 10:47:39
【问题描述】:
我有一个要插入对称矩阵的权重向量。我想要所有权重组合(所有位置的所有权重,但不在对角线上)
我尝试遍历矩阵,但我只得到相同的矩阵三次。 (我也找不到这个问题的答案或公共解决方案。)
weight <- seq(0.1, 1, by = 0.1)
C <- matrix(0, nrow = 3, ncol = 3)
for (i in seq_len(nrow(C))) {
C_old <- C
for (j in seq_len(i)) {
if (i == j) {
C[i, i] <- 0
} else {
C_old2 <- C_old
for (w in weight) {
C[i, j] <- w
C[j, i] <- C[i, j]
C_old[i, j] <- w
C_old[j, i] <- C_old[i, j]
C_old2[i, j] <- w
C_old2[j, i] <- C_old2[i, j]
iter <- iter + 3
print(C)
print(C_old)
print(C_old2)
}
}
}
我想拥有所有这样的矩阵
Matrix 0:
0 0 0
0 0 0
0 0 0
Matrix 1:
0 0 0
0 0 0.1
0 0.1 0
Matrix 2:
0 0 0.1
0 0 0.1
0.1 0.1 0
Matrix 3:
0 0.1 0.1
0.1 0 0.1
0.1 0.1 0
Matrix 4:
0 0.1 0.1
0.1 0 0.2
0.1 0.2 0
Matrix n:
0 0.9 0.1
0.5 0 0.5
0.1 0.9 0
Matrix:
0 x y
z 0 z
y x 0
我希望最后一个矩阵的所有组合都是 x、y 和 z 可以是任何权重值。
第一个矩阵(全为 0)并不重要,所以如果一个解决方案省略了它,我真的不在乎
【问题讨论】: