所以我的问题跟随我上一次的发展.我一直在尝试将尖峰时间作为尖峰列车的rastor情节.我的射击率为100,并获得20次试验的加速训练:代码为:
fr = 100
dt = 1/1000 #dt in milisecond
duration = 2 #no of duration in s
nBins = 2000 #SpikeTrain
nTrials = 20 #NumberOfSimulations
MyPoissonSpikeTrain = function(p, fr= 100) {
p = runif(nBins)
q = ifelse(p < fr*dt, 1, 0)
return(q)
}
set.seed(1)
SpikeMat <- t(replicate(nTrials, MyPoissonSpikeTrain()))
plot(x=-1,y=-1, xlab="time (s)", ylab="Trial",
main="Spike trains",
ylim=c(0.5, nTrials+1), xlim=c(0, duration))
for (i in 1: nTrials)
{
clip(x1 = 0, x2= duration, y1= (i-0.2), y2= (i+0.4))
abline(h=i, lwd= 1/4)
abline(v= dt*which( SpikeMat[i,]== …Run Code Online (Sandbox Code Playgroud) 我试图通过 deSolve 求解这个常微分方程组,dX/dt = -X*a + (YX) b + c 和 dY/dt = -Y a + (XY)*b 时间为 [0,200],a=0.30 ,b=0.2,但时间 [50,70] 时 c 为 1,否则为 0。我一直使用的代码是,
time <- seq(0, 200, by=1)
parameters <- c(a=0.33, b=0.2, c=1)
state <- c(X = 0, Y = 0)
two_comp <- function(time, state, parameters){
with(as.list(c(state, parameters)), {
dX = -X*a + (Y-X)*b + c
dY = -Y*a + (X-Y)*b
return(list(c(dX, dY)))
})
}
out <- ode(y = state, times = time, func = two_comp, parms …Run Code Online (Sandbox Code Playgroud)