【问题标题】:How to integrate function in R with unknown upper or lower limit如何将R中的函数与未知的上限或下限集成
【发布时间】:2021-06-25 20:54:53
【问题描述】:

我对 R 很不熟悉,我尝试通过开源找到我的问题的答案,但我做不到。所以这里是:

所以我有 pd 函数,我想从中找到 cdf。这很简单,我只需要将 pd 函数集成为下限为 1,上限为“x”。我试图用 R 来做,但是当我尝试用下面的代码做它时发生了错误:

 f <- function(x) ((3*x^2)/511)
 integrate(f, lower = 1, upper = "x")

错误:

集成错误(f, lower = 1, upper = "x"): 积分可能是发散的

而 cdf 的正确答案是 (3*(x^3/3 = 1/3))/511。甚至可以与 R 中的未知限制集成并获得正确答案的输出(使用 R 作为计算器:D)?

【问题讨论】:

  • R 本身不进行符号数学运算(如 Mathematica 或 Matlab 等程序)。你可以使用像Ryacas 这样的包。但使用其他工具可能更容易做到这一点。

标签: r


【解决方案1】:

我认为@MrFlick 是对的;有一些工具更适合这种形式的高级数学。但是,您可以在 R 中执行此操作。

library(Ryacas)
as_r(yac_str("Integrate(x, 1, x) (3*x^2)/511"))
# expression(x^3/511 - 1/511)

您提供的答案,由 R 计算得出:

【讨论】:

    猜你喜欢
    • 2021-08-26
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 2017-09-28
    • 2021-03-19
    • 2016-10-29
    相关资源
    最近更新 更多