할당에 대해 범위를 a
에서 b
, [a,b]
사이의 범위로 찾으려고합니다.a에서 b 범위의 함수에서 찾을 수
미적분을 사용하면 이렇게 어렵지 않을 것입니다. 미적분의 정리에 근거하여 다음과 같이 코드의 특정 부분에 도달하기 위해 주위를 돌아 다녔습니다.
참고 : 테스트를 위해 f = x**2
을 사용하고 있습니다.
def integrate(a,b,tolerance_level):
firsttrapezoid = simpleIntegrate(a,b)
secondtrapezoid = simpleIntegrate(a,b/2) + simpleIntegrate(b/2,b)
error_range = abs(firsttrapezoid - secondtrapezoid)
if error_range < tolerance_level:
return secondtrapezoid
else:
return integrate(a, b/2, tolerance_level/2) + integrate(b/2, b, tolerance_level/2)
def simpleIntegrate(a,b):
return (b-a)*(f(a)+f(b))/2
def f(x):
f = x**2
return f
result = integrate(0,5,0.0001)
print(result)
는 I 41 주변 값을 얻을 수 있어야하지만 I 얻는 값은 44
[a, b] 간격을 두 개의 작은 간격으로 나누는 방법을 확인하십시오. 특히 중점을 계산하는 방법을 확인하십시오. 방금보다 선명한보기를 원할 경우 : [0, 5]의 예제로 시작하지 마십시오. 예제 [1, 5]부터 시작하십시오. – joanolo
@joanolo 내가 입력 한 예제 중 하나이기 때문에 나는 [0,5]를 사용하고 있었지만 시도해 보겠다. – tokyolerd
=> 중점은 단지 5/2입니다. 그러나 [1, 5]로 작업한다면 ... 중간 점은 ... – joanolo