2012-08-29 34 views
0
integg <- function(t,a,b){ 

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

我有什么,我认为可能是一个简单的问题。对象整体范围

我整合了固定可以变化的范围。

如果你认为这恒定的作为一个函数,它仅存在对是> = 0我不能只设置下限== 0,在x轴的值因为可能有倍当下界是一些值> 0

它可能是最好只写常数莫名其妙的功能。

我在第二个问题是,我想使该值55作为一个对象(x)的其余可包括作为参数的函数integg()

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

+0

我不知道我明白你'在做...无论如何,为什么你不能只设置'lower = 0'? (或设置'B = ta')或设置'低级= ifelse(T - (A + B)<0,0,T - (A + B))'也许整个问题的一个更完整的描述将使这部分更清晰。 – Justin

+0

现在这样做更有意义吗? – Doug

回答

1

你描述为什么不完全相同。作为参数添加xintegg功能

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) 
} 
+0

这个不错,我也有运行持续不断的困难。如果这是因为它是一个函数,我是一个函数。但我将常量定义为一个对象,并将其用作积分中的第一个参数,但仍然无效。 – Doug

+0

@LucasPinto查看我的编辑。 – Justin