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 は次のエラーを返します。

result[[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

matrix<-matrix(ncol=numberOfCols,nrow=numberOfRows);

行列[rowNum,]<-row; # rowNum は、上書きする行の数です。

于 2013-10-03T19:32:55.357 に答える