【发布时间】:2017-11-20 21:48:24
【问题描述】:
我正在尝试解决仅限于正解的 ODE,即:
dx/dt=f(x)
x>=0。
在 MATLAB 中,这很容易实现。 R 是否有任何解决方法或包将解决方案空间限制为仅正值?
这对我来说非常重要,不幸的是没有其他选择。我现在搜索了一段时间,但没有任何成功。 :-(
【问题讨论】:
-
您能说一下(技术上)它是如何在 MATLAB 中完成的吗?最简单的方法是将系统更改为 d(log(x))/dt = f(log(x))。
-
没有任何示例代码和示例数据,很难更具体。因此,在回答您的问题时,是的,这是可能的。看看R包
deSolve,你可以在里面subset满足一定约束的变量。 -
@MauritsEvers,我不确定这是否容易,但我同意需要更多细节。
-
很难解释,但这里是用于 MATLAB 的 ode45 radford.edu/~thompson/RP/nonnegative.pdf 的原始出版物。 R 的 deSolve 也使用类似的代码,但它不能强制执行非负性。我只是想用 x>=0 来解决所有 x 的系统 dx/dt=f(x)。假设(仅举一个例子)我有一个生物系统 f(x,p),其测量浓度为 y,参数为 p。显然,系统的统计数据和观察结果必须是正数或等于零。现在我想推断参数,但 y 和 y 必须保持正数。
-
我的意思是 x 和 y 必须保持积极态度。我知道这是一个非常普遍的问题,但我真的需要帮助。由于我有一个给定的网络结构,因此很难对系统进行日志转换。我现在搜索了半年的解决方案......但没有任何成功......不幸的是......
标签: r constraints ode