0
   integg <- function(t,a,b){  

   integrate(Vectorize(function(x){55}),lower=t-(a+b),upper=t-a)   
   }

我遇到了我认为可能是一个简单的问题。

我正在整合一个可能会变化的常数。

如果你把这个常数看作一个函数,它只存在于 x 轴上 >= 0 的值。我不能只设置下限 == 0。因为有时下限可能是一些值 > 0。

最好以某种方式将常量写为函数。

我遇到的第二个问题是我想将该值 55 作为一个对象 (x),我可以将其作为函数 integg() 的参数包含在内

我正在使用 Vectorize,因为这是我知道如何整合常量的唯一方法。

4

1 回答 1

1

为什么不完全按照你的描述做。x作为参数添加到您的integg函数

integg <- function(t, a, b, intval) {
  u <- t - a
  l <- ifelse(u - b < 0, 0, u - b)
  integrate(Vectorize(function(foo, x) {55}), lower=l, upper=u, x=intval)
}

如果您要集成的功能始终保持不变,您可以编写自己的面积计算:

integg2 <- function(t, a, b, intval) {
  u <- t - a 
  l <- ifelse(u - b < 0, 0, u - b)
  intval * (u - l)
}
于 2012-08-29T20:49:15.257 回答