小编Tan*_*ene的帖子

R代码:满足n个矩阵方程的非负解

这是一个矩阵问题,我正在尝试求解满足2个或更多矩阵方程的最佳拟合非负x.我能够单独求解方程式,但我对如何同时求解所有'n'矩阵毫无头绪.

A x - c = B x - d = E x - f = ... = 0

下面我有两组矩阵,我单独解决.

A x = c

B y = d

x = y没有约束

require(pracma)
require(corpcor)
require(NMF)

mat=c(0.005,0.006,0.002,0,0,0,0,
      0,0.005,0.006,0.002,0,0,0,
      0,0,0.005,0.006,0.002,0,0,
      0,0,0,0.005,0.006,0.002,0,
      0,0,0,0,0.005,0.006,0.002,
      0,0,0,0,0,0.005,0.006,
      0.003,0.004,0.002,0,0,0,0,
      0,0.003,0.004,0.002,0,0,0,
      0,0,0.003,0.004,0.002,0,0,
      0,0,0,0.003,0.004,0.002,0,
      0,0,0,0,0.003,0.004,0.002,
      0,0,0,0,0,0.003,0.004     
)
mat = matrix(mat,byrow=T,ncol=7)
rownames(mat) = rep(c("Group A", "Group B"), times = c(6,6))

mat.A = mat[rownames(mat) == "Group A",]
mat.B = mat[rownames(mat) == "Group B",]

y.A = sample(c(100:500), 7)
y.B = sample(c(200:300), …
Run Code Online (Sandbox Code Playgroud)

math r matrix

3
推荐指数
1
解决办法
200
查看次数

R:统计/计算效率

我的代码块正在做的是用T的F填充4X100000矩阵.让我们命名矩阵X.然后是Xij~Bernoulli(P)和P~normal(0.5,0.15),其中max(P)= 1并且min(P)= 0.

统计数据非常低效.如果有上述过程坚持的分布请帮助我.

计算速度非常慢,因为我必须用1个条目填充整个矩阵1条目,每次都是随机的.有没有办法减少显着的时间?这是非常低效的.

统计效率问题在这里

x = rnorm(100000,mean = 0.5,sd = 0.15)
x[x > 1] = 1
x[x < 0] = 0

probability = function(x){
  x.sam = sample(x,1)
  p = c(x.sam,1-x.sam)
  return(p)
}

aggro2 = function(x){
  aggro2 = sample(c(T,F),1, prob = probability(x))
  return(aggro2)
}
Run Code Online (Sandbox Code Playgroud)

计算效率问题在这里

ptm = proc.time()
aggro =c()
n=100000
for (i in 1:(4*n)){
  cat(round(i/(4*n)*100,2),"\n")
  aggro = c(aggro, aggro2(x))  
}
aggro.mat = matrix(aggro,4,n)

elapsed = proc.time()[3] - ptm[3]
cat(elapsed)
Run Code Online (Sandbox Code Playgroud)

performance r distribution matrix

-2
推荐指数
1
解决办法
186
查看次数

标签 统计

matrix ×2

r ×2

distribution ×1

math ×1

performance ×1