在循环中使用随机矩阵(R)
我正在尝试使用loop创建随机矩阵的特征值间距的经验直方图。看起来很简单,但到目前为止还不起作用。。。我得到了这个错误:“M[k]中的错误”如果您只对创建在循环中使用随机矩阵(R),r,loops,math,matrix,R,Loops,Math,Matrix,我正在尝试使用loop创建随机矩阵的特征值间距的经验直方图。看起来很简单,但到目前为止还不起作用。。。我得到了这个错误:“M[k]中的错误”如果您只对创建s感兴趣,可以使用sapply而不是循环来简化代码。您可以为每次迭代创建矩阵M,并返回最大和最小特征值之间的差。这将使向量s没有所有中间v变量 set.seed(69)#使示例重现 x x <- rnorm(1000,0,1) y <- rnorm(1000,0,1/2) z <- rnorm(1000
s
感兴趣,可以使用sapply
而不是循环来简化代码。您可以为每次迭代创建矩阵M
,并返回最大和最小特征值之间的差。这将使向量s
没有所有中间v变量
set.seed(69)#使示例重现
x
x <- rnorm(1000,0,1)
y <- rnorm(1000,0,1/2)
z <- rnorm(1000,0,1)
M <- matrix(0,2,2)
a <- rep(0,1000)
b <- rep(0,1000)
s <- rep(0,1000)
for(k in 1:1000){
M[k] =(c(x[k],y[k],y[k],z[k]))
temp = eigen(M[k])$value
a[k] <- max(temp)
b[k] <- min(temp)
s[k] <- a[k]-b[k]
}