【问题标题】:double integration gives error object y not found双重积分给出错误对象 y not found
【发布时间】:2020-07-03 18:44:38
【问题描述】:

我正在尝试进行这种集成

我正在尝试这段代码

integrand_inner <- function(x, a, b) {(a * x^2 + b * y *x)*y}

integrand_outer <- Vectorize(
  function(y, a, b){
    integrate(integrand_inner,
              (bo - b)*y/(a-ao),
              1,
              a=a,
              b=b)$value
  }
)

revenue <- function(a){
  b <- sqrt(1-a^2)
  
  return(integrate(integrand_outer, 0, 1, a = a, b=b))
}

但我得到了错误

Error in f(x, ...) : object 'y' not found

我不知道出了什么问题。

【问题讨论】:

    标签: r cran integrate


    【解决方案1】:

    需要将 y 作为参数添加到函数并传递。

    integrand_inner <- function(x,y, a, b) {(a * x^2 + b * y *x)*y}
    
    integrand_outer <- Vectorize(
      function(y, a, b){
        integrate(integrand_inner,
                  (bo - b)*y/(a-ao),
                  1,
                  a=a,
                  b=b,
                  y=y)$value
      }
    )
    
    revenue <- function(a){
      b <- sqrt(1-a^2)
      
      return(integrate(integrand_outer, 0, 1, a = a, b=b))
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 2013-03-10
      • 1970-01-01
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 2016-08-30
      • 2012-03-09
      相关资源
      最近更新 更多