请问在我使用ODEProblem(f,u0,tspan)函数求解的过程中,u0是一个非负二元数组,f的值也均被设定为非负,但为什么求解过程中的u会出现负数的情况?如何解决这个问题呢?谢谢
建议上一个示例代码, 你的这个示例代码排版有问题,让人难以复制粘贴 。
另外,你的代码完全无法运行。报错为 ERROR: UndefVarError:
请提供一个 MWE。其他提问的注意事项参见 发帖里面 综合讨论区>Julia 入门
建立常微分方程的代码:
odeProb = ODEProblem(dNidt, Ni0Kinetics, tSpan, params);
dNidt的微分值计算部分:
function dNidt(dNdt,N,params,t)
for ii =1:length(N)
-
dNdt[ii] = 2*pi*(p1.dp+di[ii]) *(p1.D+Di[ii]) * βm[ii] * (Pi[ii]-Kei[ii]*Psati[ii])/(kB*T);*
end
- for ii=1:length(dNdt)*
-
if dNdt[ii]<=0*
-
dNdt[ii]=0.0;*
-
end*
- end*
其中很多参数比较复杂,和这个问题关系不大,我就不全部放上来了,谢谢!