我尝试使用Julia文档中的this示例。我的尝试是让细胞分裂成两个部分,每个部分都有一半的蛋白质含量,所以我设置了Theta=0.5。然而,这个图看起来像这样:

很明显,每次达到蛋白质的目标量,细胞的数量就会翻倍,同时,因为它们是相等的。我怎么能画出这个呢?我也不明白为什么在下面的例子中单元格的数量会停在3。
发布于 2020-03-23 12:10:33
绘制每个细胞中的蛋白质含量,并考虑您创建的模型。在第一次分割后,两个单元格具有相同的值。所以恰好在同一时间,你有一个事件触发。“最大值”(以较低的索引为准,因此为1)将被拆分,而2将继续增长到1以上。但是现在u[2] > 1,寻根条件1-maximum(u)将再也不会达到零,因此不会再发生拆分。这意味着你将有两个拆分,即3个单元格。
记住,程序会完全按照你说的做。
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这是一种方法,当然还有很多其他的方法。
https://stackoverflow.com/questions/60806954
复制相似问题