【发布时间】:2020-06-17 13:38:29
【问题描述】:
以下是我的R代码,我想要tx[1, 1] = 1*2^1 + 4*5^2 + 7*8^3,tx[1, 2] = 4*5 + 7*8^2,tx[1, 3] = 7*8,但它只包括7*8^3 for tx[1, 1]和7*8^2 for tx[1, 2]。 tx 矩阵中的其他元素也只包括求和运算中的最后一项。那么,谁能告诉我如何纠正我的代码以获得正确的输出?提前致谢!
A <- matrix(c(1:9),ncol=3)
B <- matrix(c(2:10),ncol=3)
tx<-matrix(rep(NA,3*3),3,3)
for(j in 1:3)
{
for(i in 1:3)
{
for(k in 1:3-i+1)
{
tx[j,i]<-sum(A[j,k+i-1]*(B[j,k+i-1])^k)
}
}
}
【问题讨论】:
-
我不确定它是否会给你最终的输出,但
for(k in 1:3-i+1)应该是for(k in 1:(3-i+1)) -
感谢您的回复,@Ronak,但答案是否定的。
-
你想要
tx[j,i] <- tx[j,i] + A[j,k+i-1] * (B[j,k+i-1])^k。但是用零初始化 tx,而不是 NA。tx <- matrix(rep(0, 3*3), 3, 3) -
@Edward,非常感谢。我现在得到了正确的输出!