小编Fab*_*ini的帖子

MethodError: 没有方法匹配 -(::Int64, ::Array{Int64,1})

我尝试在 Julia 文档中使用这个示例。我的尝试是将细胞分成两部分,每部分的蛋白质含量都是一半。

using OrdinaryDiffEq
const ? = 0.3
function f(du,u,p,t)
  for i in 1:length(u)
    du[i] = ?*u[i]/length(u)
  end
end
function condition(u,t,integrator) # Event when event_f(u,t) == 0
  1-maximum(u)
end
function affect!(integrator)
  u = integrator.u
  idxs = findall(x->x>=1-eps(eltype(u)),u)
  resize!(integrator,length(u)+length(idxs))
  u[idxs] ./ 2
  u[end-idxs:end] = 0.5
  nothing
end
callback = ContinuousCallback(condition,affect!)
u0 = [0.2]
tspan = (0.0,10.0)
prob = ODEProblem(f,u0,tspan)
sol = solve(prob,Tsit5(),callback=callback)
Run Code Online (Sandbox Code Playgroud)

我收到错误:MethodError: no method matching -(::Int64, ::Array{Int64,1})。我知道 存在问题idxs = findall(x->x>=1-eps(eltype(u)),u),我尝试在 1 和 eps …

arrays differential-equations julia

4
推荐指数
1
解决办法
802
查看次数

Julia Langauge 微分方程示例

我尝试在 Julia 文档中使用这个示例。我的尝试是将细胞分成两部分,每部分的蛋白质含量都是一半,所以我设置了 Theta=0.5。然而,情节是这样的: 在此处输入图片说明

很明显,每次达到目标蛋白质量时,细胞数量都会增加一倍,同时,因为它们是相等的。我怎么能画这个?我也不明白为什么在下面的情况下单元格的数量停在 3。

plot modeling ode julia ijulia-notebook

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