-2
この一見簡単な関数を実行しようとするとひどい時間があります。なぜこれがうまくいかないのか分かりません。Forループによる行列乗算関数
マイコード:
C = matrix(0 , dim(matrixA)[1] , dim(matrixB)[2] , TRUE)
mat_mult = function(matrixA, matrixB){
for (ii in 1:dim(matrixA)[1]) {
for (jj in 1:dim(matrixB)[2]) {
for (kk in 1:dim(matrixA)[2]) {
C[ii,jj] = C[ii,jj] + matrixA[ii,kk]*matrixB[kk,jj]
}
}
}
}
は、私はちょうど2つの行列を乗算しようとしています。何か案は?
中括弧 '(1:dim(matrixA))[1]' – akrun
で囲む必要があるかもしれません。あるいは、 'nrow(x)とdim(x) '' dim(。)[2] 'の' 'dim(。)[1]'と 'ncol(。より簡単で読みやすいです。 –
ヘルプ( "%*%")を参照してください。 – Roland