2017-09-28 7 views
0

f_integ 함수의 값을 계산하려고합니다.이 함수는 f에서 0에서 x_v까지의 적분 결과입니다. 나는 quad()는 튜플을 반환 것을 알고,하지만 난 결과의 인수로 숫자를 넣어하는 방법을 알아낼 수 없습니다IndexError : 튜플 인덱스가 범위를 벗어났습니다. 함수를 통합하려고 시도 할 때 오류가 발생했습니다.

Traceback (most recent call last): 
    File "untitled.py", line 117, in <module> 
    C = f_integ(1) 
    File "scr1.py", line 110, in f_integ 
    indexes = np.shape(x_array)[0] 
IndexError: tuple index out of range 

:이 프로그램을 실행할 때

f = lambda x : x + 1 

    def f_integ(x_array): 
     int_result = np.zeros_like(x_array) 
     indexes = np.shape(x_array)[0] 
     for ind in range(indexes): 
      x_v = x_array[ind] 
      int_result[ind] = integ.quad(f, 0.0, x_v)[0] 
     return int_result 

    C = f_integ(1) 
    print "C", C 

, 나는 다음과 같은 오류가 발생합니다 통합. 나는 Python에 익숙하지 않다. 제발 도와주세요.

+0

스택 추적 및 [mcve]와 같은 전체 오류 메시지를 게시하십시오. –

답변

1

콜과 같이 기능 :

C = f_integ(np.array([1])) 
print "C", C 

는 현재 당신이 배열을 f_integ()에 번호를 통과하지 않습니다. np.shape(x_array)[0]을 만나면 숫자의 모양은 단지 ()이므로 빈 터플의 경우 인덱스 0에서 아무 것도 반환 할 수 없습니다.

+0

잘 잡습니다. 하지만 모양은 괜찮지 만, 그 모양은 인덱스 튜토리얼에 IndexError를 던질 빈 튜플입니다. –

+0

아 맞습니다. 내 대답을 편집 할게. – Antimony

+0

이제 작동 중입니다! 고맙습니다. – ani87