我有以下 3x3 方阵a
和一个向量x
:
a = matrix(c(1.0, 0.1, 0.5,
0.1, 1.0, 0.9,
0.5, 0.9, 1.0), nrow=3, ncol=3)
x = c(0.1,0.2,0.3)
我想基本上使用矩阵和向量的上三角形来遵循公式
y = (a12 - (x1/x2)^2 + (a13 - x1/x3)^2 + (a23 - x2/x3)^2
我在 R 中为上述公式使用了以下 for 循环,我收到以下错误:
Error in a[i, j] : subscript out of bounds
如果我做错了什么,请告诉我,我将不胜感激。
## initialize y
y = 0
for (i in 1 : nrow(a)-1){
for (j in i+1 : nrow(a)){
y = y + ((a[i,j]) - (x[i]/x[j])^2
}
}