2016-12-06 1 views
-3

새로운 것을 설치할 수 없습니다. 기본 파이썬 라이브러리를 사용해야하고 함수를 통합해야합니다. 어떤 f (x)에 대한 값을 구할 수 있으며, 함수 f (x)에 대해 0에서 6까지를 적분해야합니다. 이산 형태에서파이썬에서 수치 적 통합을 수행하는 방법은 무엇입니까?

+0

답변을받지 않고 닫히지 않으려면 [질문하는 방법] (http://stackoverflow.com/help/how-to-ask)을 참조하십시오. –

답변

2

는 통합은 단지 가산, 즉

n은 샘플 수이며

enter image description here

. 우리는 B-A/N 수 DX (우리의 샘플의 '폭') 할 경우, 우리는 파이썬이를 작성할 수 있습니다

def integrate(f, a, b, dx=0.1): 
    i = a 
    s = 0 
    while i <= b: 
     s += f(i)*dx 
     i += dx 
    return s 

주를 우리가 여기 higher-order functions를 사용하는 것이. 특히 fintegrate으로 전달되는 함수입니다. a, b은 Google 경계이며 dx은 기본적으로 1/10입니다.

# the linear function, y = x 
def linear(x): 
    return x 

integrate(linear, 1, 6) // output: 17.85 

# or using lamdba function we can write it directly in the argument 
# here is the quadratic function, y=x^2 
integrate(lambda x: x**2, 0, 10) // output: 338.35 
-1
def func(): 
    print "F(x) = 2x + 3" 
    x = int(raw_input('Enter an integer value for x: ')) 
    Fx = 2 * x + 3 
    return Fx 

print func() 

어려운 경우, 당신은 무작위로 원하는 번호를 입력하고 기능을 얻거나 수 파이썬의 입력 기능을 사용 : 이것은 우리가 원하는 기능에 우리의 새로운 통합 기능을 적용과 같이 우리를 수 당신이 0 대신 0으로 범위의 첫 번째 값을 설정부터 계산을 시작하는 숫자를 좋아하면이 코딩이 필요 당신은 루프를 사용하는 예를

def func2(): 
    print "F(x) = 2x + 3" 
    x = [] 
    for numbers in range(1,7): 
     x.append(numbers) 

    upd = 0 
    for i in x: 
     Fx = 2 * x[upd] + 3 
     upd +=1 
     print Fx 

print func2() 

편집에 대한 목록에 번호를 추가 할 수 있습니다 of 1

+0

이것은 함수를 평가하고 아무 것도 수행하지 않습니다 완성. – Prune

+0

조금 더 자세히 설명해 줄 수 있습니까? – Falcon

+0

[1,6] 범위의 함수를 평가했습니다. 포스터는 [0,6] 범위의 적분이 필요합니다. 주어진 함수의 유한 한 적분을 다룰 수있는 곳은 어디에도 없습니다. 좋은 프레 젠 테이션에 대한 이전 답변을 참조하십시오. – Prune

관련 문제