2013-03-11 2 views
1

는 I는 다음과 같은 요소로 행렬 A [I, J, K]를 생성하고자 이는 P [S 등의 특성 함수에 의해 기록 될 수있다특성 함수 함수

/= 0

A [i가, J, K가] P = [S] K + JSI = 0 인 경우 (p [S]가 주어 벡터) ] * (k + jsi) 또는 크로네 커 델타 함수에 의해 p [s] * (0, k + jsi)로 나타낼 수있다. R에 "build in"함수가 있습니까? "ð"가 내장되어 있습니까?

나 혼자서 작성해야합니까?

나는 적어도 선형 F를 들어, 그렇지 않으면 F (X) = 0 0 1 반환 내장 기능이 매우 유용 할 것이다 가정 (x)는

+1

f (x) == 0은 f (x) = 0이면 1을, 그렇지 않으면 0을 제공합니다. –

답변

3

나는

으로 이것을 다시 것 다음

p <- c(1,2,3,4,5) 

pfun <- function(x) { 
    if (x < 1 | x > length(p)) { 
    0 
    } else { 
    p[x] 
    } 
} 

n <- 5 
A <- array(0, c(n, n, n)) 

for (i in 1:n) { 
    for (j in 1:n) { 
    for (k in 1:n) { 
     A[i,j,k] <- pfun(k+j-i) 
    } 
    } 
} 

로 구현 될 수

A[i,j,k] = p[k+j-i] if that exists, otherwise 0 

루프에 대한 삼중 중첩보다 더 우아하고 뭔가가있을 수 있습니다. 당신에 대해 물어 기능, 작동합니다

as.numeric(f(x)==0) 

같은 간단한에 관해서는

.

+4

트리플 루프를'A <- array (apply

+0

as.numeric (f (x) == 0) 좋아 보인다! – kakaz