【问题标题】:2-fold (repeated) integral in R在r中的2倍(重复)积分
【发布时间】:2017-03-13 10:58:42
【问题描述】:

我想在 R 中计算一个 2 倍重复积分(不是双积分),例如,

在哪里

在实践中,f(x) 和 g(x) 都相当复杂,但要运行实验,让我们简化 g(x)=1 和 f(x)=cos(x),在 RI 中使用 @987654323 @计算:

> phi = function(x){integrate(function(x){cos(x)},lower=x,upper=3)[["value"]]^2}

> foldintegral = integrate(phi,lower=0,upper=3)

我收到了这个错误信息:

Error in integrate(phi, lower = 0, upper = 3) : 
  evaluation of function gave a result of wrong length

任何想法如何做到这一点?

【问题讨论】:

    标签: r integral numerical-integration


    【解决方案1】:

    只需要

    integrate(Vectorize(phi), lower=0, upper=3)
    # 1.067943 with absolute error < 1.2e-14
    

    比较

    phi(1)
    #[1] 0.4904915
    
    phi(1:3)
    # [1] 0.4904915
    
    Vectorize(phi)(1:3)
    # [1] 0.4904915 0.5900965 0.0000000
    

    integrate 需要一个矢量化函数。

    【讨论】:

    • 明白了!非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 2017-11-17
    • 2021-11-09
    • 1970-01-01
    相关资源
    最近更新 更多