15得票2回答
有没有适用于普通微分方程(ODE)求解器的C++库?

更具体地说,我对8阶Dormand-Prince嵌入式方法感兴趣,它基于龙格-库塔法和刚性方程。 我使用Numerical Recipes 3,但我经常在编译其库时遇到麻烦。我想知道是否有其他替代方案。

8得票1回答
scipy.integrate.solve_ivp向量化

尝试使用solve_ivp的向量化选项,但出现了一个奇怪的错误,提示y0必须是一维的。 MWE: from scipy.integrate import solve_ivp import numpy as np import math def f(t, y): theta = m...

7得票4回答
Haskell - 优化微分方程求解器

我正在学习Haskell,并尝试以与C相同的速度编写代码。对于这个练习,我正在为一个简单的一维物理系统编写欧拉积分器。 C代码使用GCC 4.5.4和-O3编译。它运行需要1.166秒。 Haskell代码使用GHC 7.4.1和-O3编译。它运行需要21.3秒。 如果我使用-O3 -fl...

13得票2回答
多个scipy.integrate.ode实例

我想在多个线程中使用scipy.integrate.ode(或scipy.integrate.odeint)实例,每个线程都使用一个CPU核心,以便同时解决多个IVP问题。然而文档上说:“这个积分器不可重入。您不能同时使用两个使用“vode”积分器的ode实例。 (同时,如果多次实例化ode...

9得票4回答
使用scipy.integrate.odeint求解一个带有可变常数的ODE系统?

我目前有一个带有时间变量的常数的ODE系统。例如: def fun(u, t, a, b, c): x = u[0] y = u[1] z = u[2] dx_dt = a * x + y * z dy_dt = b * (y-z) dz_dt...

7得票2回答
Matlab:如何在混合初始和终端条件的情况下数值求解ode系统?

我正在尝试使用ode45来解决一组常微分方程组: [X,Y]= ode45(@sys,[0, T],y0); 其中, function dy = sys(t,y) dy(1) = f_1(y) dy(2) = f_2(y) dy(3)...

8得票2回答
非线性回归与随机效应以及lsoda

我遇到了一个无法解决的问题。我想使用nlme或nlmODE来执行具有随机效应的非线性回归,以固定系数的二阶微分方程的解作为模型(阻尼振荡器)。 我成功地使用nlme进行简单模型的建立,但似乎使用deSolve生成微分方程的解会导致问题。以下是一个示例和我面临的问题。 数据和函数 这是使用...

11得票1回答
在Java中的微分方程

我正在尝试用Java创建一个简单的SIR流行病模型的仿真程序。 基本上,SIR由三个微分方程组成: S'(t) = - l(t) * S(t) I'(t) = l(t) * S(t) - g(t) * I(t) R'(t) = g(t) * I(t) 其中,S - 易感人群,I - 感染者...

7得票2回答
解决一个隐式常微分方程组 (代数微分方程 DAE)

我正在尝试使用scipy中的odeint求解一个二阶ODE。我遇到的问题是函数隐式地与二阶项相耦合,如简化的代码片段所示(请忽略示例中的假物理内容): import numpy as np from scipy.integrate import odeint def integral(y,...

22得票6回答
传递参数给 solve_ivp(新的 SciPy ODE API)

要使用SciPy解决简单的ODE问题,我过去常常使用odeint函数,格式如下: scipy.integrate.odeint(func, y0, t, args=(), Dfun=None, col_deriv=0, full_output=0, ml=None, mu=None, rto...