问题标签 [odeint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 Python 中优化微分方程中的常数
好的,那么我将如何编写代码来优化微分方程中的常数 a 和 b,例如 dy/dt = a*y^2 + b,使用curve_fit?我将使用 odeint 来求解 ODE,然后使用 curve_fit 来优化 a 和 b。如果您能就这种情况提供意见,我将不胜感激!
c++ - Boost OdeInt 中是否有 lsode 模拟?
里面有boost 1.53 和 OdeInt。它有一系列数值 ode 求解器。但是我想知道其中是否有lsode模拟 - 对于您已保证分析解决方案的情况?
python - 在第一个错误时停止 scipy odeint
编辑:这个问题是由于一个错误,在 Scipy 0.15 中修复
在开发和测试代码时,我可能会犯一个简单的错误,例如 NameError。当我使用 scipy.integrate.odeint 时,odeint 将打印错误消息,但会在我请求的任何时间步长内继续集成,因此我会收到许多相同的错误消息。我认为它具有这种行为,以便在发生算术错误(例如,除以零)时可以继续,但这对于编程错误是无益的行为。
有没有办法让 scipy 在第一条错误消息后停止?如果我能让它停止错误而不是算术异常,那将是最好的。
c++ - odeint 和状态变量的临时更改
我刚刚使用 odeint C++ 库从离散 PDE 中实现了一组耦合 ODE 的数值积分。它运行良好,速度快如闪电,但有一个问题:
我的 ODE 系统具有所谓的吸收边界条件:我的状态变量 n 的时间导数,它是 N 个双倍的向量(人口密度)在系统函数中计算,但在此之前(或之后时间积分)我想设置:
但是,这当然是行不通的,因为系统函数中的状态变量被声明为const,并且看起来除了通过干预库之外无法更改...有什么办法解决这个问题吗?
我应该提到将dndt[N]
and设置dndt[N-1]
为零可能看起来像一个解决方案,但它并没有真正帮助,因为它违背了吸收边界条件的概念(n[N]
然后n[N-1]
总是具有它们在的值t=0
,而不是n[N-2]
在任何点的值及时),所以我真的更喜欢改变 n。
谢谢你的帮助!
问候,
迈克尔
boost - Set a maximum step size in odeint
I create a boost::odeint stepper as follows:
There will be times during the integration of my system where it "lies low" for a while. During this periods it seems as though the integrator sometimes increases its step size to the point where it then jumps over areas of interest.
Is there a way to limit the integrator's step size so it never exceeds a given maximum?
boost - 使用 boost 和 python 在 GPU 上集成 ODE
不久前,我在这里发布了一个关于我正在尝试使用 pycuda 构建的模型,该模型解决了大约 9000 个耦合 ODE。然而,我的模型太慢了,一位 SO 成员建议从主机到 GPU 的内存传输可能是罪魁祸首。
现在 cuda 仅用于计算我正在处理的 9000 个物种中的每一个的变化率。由于我将一个数组从主机传递到 GPU 以执行此计算并从 GPU 返回一个数组以集成到主机上,因此我可以看到这会如何减慢速度。
boost会解决我的问题吗?根据我的阅读,boost 允许 c++ 和 python 之间的互操作性。它还包括我读过的 c++ odeint ,与推力合作允许在 GPU 上快速减少和集成。我的理解正确吗?
谢谢你,卡斯滕
python - NumPy odeint output extra variables
What is the easiest way to save intermediate variables during simulation with odeint
in Numpy?
For example:
What would be the easiest way to save the data stored in x
during simulation? Ideally at the points specified in the t
argument passed to odeint
.
python - 为什么在 SciPy 中使用Integrate.odeint 时不调用 Dfun(gradient)?
谁能提供一个为integrate.odeint
SciPy 中的函数提供雅可比行列式的示例?我尝试从 SciPy 教程odeint 示例中运行此代码,但似乎Dfun()
从未调用过(雅可比函数)。
c++ - odeint 的两点边界
我正在尝试用 odeint 解决两点边界问题。我的方程有
当我的边界条件y(x_1) = y_1 , y'(x_2) = y_2
为 y(x_1) = y_1 , y(x_2) = y_2
有人知道用 odeint 或其他科学图书馆处理此类问题的方法吗?
c++ - 如何在 boost::odeint 中控制 bulirsch_stoer 方法的顺序?
我正在使用boost::numeric::odeint
ODE 求解器并对它们有疑问。说明书上说bulirsch_stoer
是一个带步长和顺序控制的步进器。此外,订单是用户可以更改的变量。我查看了头文件,但没有得到一个想法?有没有人有任何解决方案?