#第一种算法,采用循环的方法
matrices <- vector(mode="list", length=10000)#生成一个空的列表,用于存储多个矩阵
for (i in 1:10000) {matrices[[i]] <- matrix(rnorm(10000), 100, 100)}#将生成的多个矩阵存储到列表中
system.time({
S <- matrix(0, 100, 100)
for (i in 1:10000) S <- S + matrices[[i]]
}) #对多个矩阵求和,并计算所用时间
system.time(S1 <- Reduce("+", matrices))#第二种算法,Reduce函数将函数'+'依次连接列表中的矩阵
range(S1 - S)#检验两种算法的结果是否一致,即求差值的最大值和最小值是否均为0