A有以下矩阵
w=
0.0 0.0 0.0 0.3 0.4
0.1 0.0 0.5 0.2 0.0
0.0 0.3 0.0 0.0 0.0
0.0 0.0 0.6 0.0 0.0
0.0 0.0 0.0 0.5 0.0
c=
0.1 0.0 0.00 0.0 0.00
0.0 0.4 0.00 0.0 0.00
0.0 0.0 0.25 0.0 0.00
0.0 0.0 0.00 0.2 0.00
0.0 0.0 0.00 0.0 0.05
x = seq(1, 1, length=5)
result = matrix()
我在R。中构建了一个循环:
nloop=10
for (i in 1:nloop)
{
u=x %*% t(w)
x=(x %*% t(w))+((u) %*% t(c))
x=1/(1+exp(x))
result=matrix(nrow=10 , ncol = 5)
for (i in 1:10)
{
result[[i]] =x
}
}
R返回此错误:
结果[[i]] = x中的错误:提供的元素多于其中的元素 替换
我想将每个循环的值存储在result
矩阵
答案 0 :(得分:2)
我找到了解决方案。它不优雅,但它的工作原理。
result = vector("list")
nloop=10
for (i in 1:nloop)
{
u=x %*% t(w)
x=(x %*% t(w))+((u) %*% t(c))
x=1/(1+exp(1*x))
result[[i]]=(x)
}
result=do.call(rbind, result)
感谢您的建议
答案 1 :(得分:1)
矩阵< - 矩阵(NcoI位= numberOfCols,nrow = numberOfRows);
矩阵[的rowNum,]< - 行; #rowNum是你要覆盖的行数。