我正在使用bigmemory包。我想计算w。我的v长度是478000,k长度是240500。两个矩阵相乘w很大。
我循环运行代码,但它仍在运行并且尚未完成,我不知道是否会给我结果。
我试图在没有 for 循环的情况下计算它,但我得到了错误。请任何帮助来纠正我的代码以使其快速运行。
v <-read.big.matrix('v.dat',type='double')
k <-read.big.matrix('k.dat',type='double')
m=length(v);
n=length(k);
for(i in 1:m)
{
for(j in 1:n)
{
w[i,j] = 2 * cos(dt * v[i] * k[j]) - 2
}
}
我如何在循环之前定义 w 因为 w 的大小非常大,我无法做到w <- matrix(nr,ncol)
。