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

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

나는 간단한 문제 일 수 있다고 생각합니다.개체는 필수 경계로

달라질 수있는 상수를 통합했습니다.

이 상수를 함수로 생각하면 X 축의 값이> = 0 인 경우에만 존재합니다. 하한 == 0을 설정할 수 없습니다. 하한은> 0입니다.

어떻게 든 함수로 상수를 쓰는 것이 가장 좋습니다.

나는 데 두 번째 문제는 내가 그 때문에 내가 벡터화를 사용하고있는 기능 integg()

에 인수로 포함 할 수있는 객체 (X)로 그 값 (55)을하고자하는 것입니다 내가 상수를 통합하는 법을 아는 유일한 방법.

+0

나는 당신이 무엇을 이해 확실하지 않다 어떤 일이 있어도 왜 'lower = 0'을 설정할 수 없습니까? (또는 b = ta로 설정) 또는 lower = ifelse (t - (a + b) <0, 0, t - (a + b))로 설정하십시오. 더 분명한. – Justin

+0

이제 더 이해가됩니까? – Doug

답변

1

당신이 묘사 한대로 정확하게하지 마십시오. 당신이 통합하고 기능이 항상 일정 인 경우 당신은 당신의 자신의 지역 CALC를 작성할 수

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

당신의 integg 함수에 인수로 x 추가

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

이 모양이 좋아 보이고, 나는 또한 상수를 달리는 데 어려움을 겪고있었습니다. 그것이 함수이기 때문에 그것이라면. 하지만 상수를 객체로 정의하고이를 정수의 첫 번째 인수로 사용했지만 여전히 작동하지 않았습니다. – Doug

+0

@ 루카스 핀토 내 편집을 참조하십시오. – Justin