【发布时间】:2018-05-08 10:09:34
【问题描述】:
问题: R 中有符号 ODE 求解器吗? (ODE = ordinary differential equation)
恐怕没有……但让我从专家那里确认一下……
例如求解:
> (5x-6)^2 y' = 5(5x-6) y - 2
这里:y - 未知函数,y' - 它的导数
(用手很容易解决: y = 1/(5(5x-6)) + C* (5x-6) ,但我想从 R 那里得到答案)。
我所知道的:
1) 有 NUMERICAL(非符号)求解器:
我知道有像 library(deSolve) 这样的数值 ODE 求解器, 在这里查看答案: Can R language find a generic solution of the first order differential equation?
2) 有符号包:(但它们似乎不包含 ODE 求解器)
R中有符号包,比如 请参阅 Ryacas 和 rSymPy 以及基本 R 中的一些基本符号计算,请参阅: https://stats.stackexchange.com/questions/4775/symbolic-computation-in-r/4778
3) R 的各种微分方程求解器的简要概述: https://cran.r-project.org/web/views/DifferentialEquations.html
但是我找不到 sumbolic ODE 求解器 (((
【问题讨论】:
-
我不确定是否偏导但尝试:
?D.... deriv 是具有默认值和公式方法的通用函数。它同时返回计算 expr 及其(部分)导数的调用。它使用所谓的算法导数。如果 function.arg 是一个函数,它的参数可以有默认值,参见下面的 fx 示例。 -
@TonyHellmuth 谢谢你的评论,但是我不太明白......你能提供任何细节吗?如果我的问题不清楚,让我再说一遍:我需要得到常微分方程的解......
-
你最好的选择可能是找到一个好的 C++ 库,然后使用
rcpp将它挂钩到 R -
我不知道 R 的符号 ODE 求解器。一种解决方法可能是调用类似 Wolfram Alpha from R 的东西。
-
你列出了
rSymPy并且因为SymPyseems to include ODE solvers 这算不算...?