对象作为整数边界

时间:2012-08-29 20:15:37

标签: r

   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,因为这是我知道如何整合常量的唯一方法。

1 个答案:

答案 0 :(得分: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)
}

如果要积分的函数始终是常数,则可以编写自己的区域calc:

integg2 <- function(t, a, b, intval) {
  u <- t - a 
  l <- ifelse(u - b < 0, 0, u - b)
  intval * (u - l)
}