1

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矩阵中

4

2 回答 2

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)

感谢您的建议

于 2012-11-30T09:12:23.960 回答
1

矩阵<-矩阵(ncol=numberOfCols,nrow=numberOfRows);

矩阵[rowNum,]<-row; # rowNum 是您要覆盖的行数。

于 2013-10-03T19:32:55.357 回答