我想将一个函数应用于我的矩阵的所有元素,这些元素小于或等于0,作为元素的参数。
my_matrix[my_matrix <= 0] = 3 * (func(my_input_here))
例如,如果我们有
[0 3 5
-3 5 3
9 2 -1]
我想将-3
替换为3 * func(-3)
,将-1
替换为3 * func(-1)
答案 0 :(得分:1)
我正在创建一个虚拟函数,它只增加1.并且还在变量#fit a JAGS model
jags.model = "
model{
# priors
b1 ~ dnorm(0, .001)
b2 ~ dnorm(0, .001)
tau <- pow(sigma, -2)
sigma ~ dunif(0, 100)
#normal model
for (i in 1:N){
y[i] ~ dnorm(y.hat[i], tau)
y.hat[i] <- b1*x1[i] + b2*x2[i]
}
} #end model
"
#setup jags data as a list
jd <- list(y=plot_data$y, x1=plot_data$x1, x2=plot_data$x2, N=length(plot_data$y))
library(runjags)
#run jags model
jags.out <- run.jags(jags.model,
data=jd,
adapt = 1000,
burnin = 1000,
sample = 2000,
n.chains=3,
monitor=c('b1', 'b2'))
summary(jags.out)
中模拟矩阵。
m
输出:
m = [[0, 3, 5],
[-3, 5, 3],
[9, 2, -1]]
def my_func(x):
return x + 1
m = [[element if element > 0 else 3 * my_func(element) for element in row ] for row in m]
print(m)