Main Content

quad

(권장되지 않음) 적분의 수치적 계산, 적응적 심슨 구적법(Adaptive Simpson Quadrature)

quad는 권장되지 않습니다. integral을 대신 사용하십시오.

설명

예제

q = quad(fun,a,b)는 적응적 재귀 심슨 구적법(Recursive Adaptive Simpson Quadrature)을 사용하여 함수 fun에서 a부터 b까지의 적분 근삿값을 계산합니다.

q=abf(x) dx

q = quad(fun,a,b,tol)는 디폴트 값 1e-6 대신 각 하위 구간에 대한 절대 허용오차 tol을 지정합니다.

q = quad(fun,a,b,tol,trace)는 선택적으로 진단 정보의 표시를 켭니다. trace가 0이 아닌 경우 quad는 재귀 중에 [fcnEvals, a, b-a, Q]의 값 벡터를 표시합니다.

[q,fcnEvals] = quad(___)는 함수 실행 횟수 fcnEvals를 추가로 반환합니다. 이전의 입력 인수를 조합하여 지정할 수 있습니다.

예제

모두 축소

적분 계산하기

021x3-2x-5dx.

먼저, 피적분 함수를 계산하는 익명 함수 myfun을 만듭니다.

myfun = @(x) 1./(x.^3-2*x-5);

이제 quad를 사용하여 적분을 계산합니다. 적분 제한을 두 번째와 세 번째 인수로 지정합니다.

q = quad(myfun,0,2)
q = -0.4605

또는, 함수 파일을 생성하여 피적분 함수를 quad에 전달할 수 있습니다.

function y = myfun(x) 
  y = 1./(x.^3-2*x-5);
end

이 메서드를 사용하면 quad에 대한 호출이 quad(@myfun,0,2)가 됩니다.

입력 인수

모두 축소

피적분 함수로, a부터 b까지의 범위에서 적분할 함수를 정의하는 함수 핸들로 지정됩니다.

스칼라 값 문제의 경우, 함수 y = fun(x)는 벡터 인수 x를 받아 벡터 결과값 y를 반환해야 합니다. 여기서 yx의 각 요소에서 구한 피적분 함수 값입니다. 이 요구 사항은 일반적으로 fun이 행렬 연산자(^, *, …) 대신 배열 연산자(.^, .*, …)를 사용해야 한다는 것을 의미합니다.

함수를 파라미터화하기에는 필요한 경우 fun 함수에 추가 파라미터를 제공하는 방법이 설명되어 있습니다.

예: q = quad(@(x) exp(1-x.^2),a,b)는 익명 함수 핸들을 적분합니다.

예: q = quad(@myFun,a,b)는 함수 myFun을 적분하며, 이 함수는 파일에 저장되어 있습니다.

데이터형: function_handle

적분 한계로, 개별 스칼라 인수로 지정됩니다. 제한 ab는 유한해야 합니다.

예: quad(fun,0,1)0에서 1까지 fun을 적분합니다.

데이터형: single | double

절대 허용오차로, 스칼라로 지정됩니다. quad는 적분의 각 하위 구간에 절대 허용오차를 사용합니다. tol의 크기가 클수록 quad의 함수 실행 횟수가 적어지고 계산 속도가 빨라지지만 결과의 정확도는 떨어집니다.

예: quad(fun,a,b,1e-12)는 절대 허용오차를 1e-12로 설정합니다.

데이터형: single | double

진단 정보에 대한 토글로, 0이 아닌 스칼라로 지정됩니다. trace가 0이 아닌 경우 quad는 재귀 중에 각 하위 구간에 대한 [fcnEvals, a, b-a, Q]의 값 벡터를 표시합니다.

  • fcnEvals는 함수 실행 횟수를 제공합니다.

  • ab는 적분의 제한 영역입니다.

  • Q는 계산된 하위 구간의 면적입니다.

예: quad(fun,a,b,1e-8,1)은 진단 정보가 켜진 상태에서 허용오차 1e-8을 사용하여 a부터 b까지 fun을 적분합니다.

출력 인수

모두 축소

적분의 값으로, 스칼라로 반환됩니다.

함수 실행 횟수로, 스칼라로 반환됩니다.

알고리즘

quad는 적응적 재귀 심슨 법칙(Adaptive Recursive Simpson's Rule)을 사용하여 저차구적법(Low Order Quadrature Method)을 구현합니다.

참고 문헌

[1] Gander, W., and W. Gautschi. “Adaptive Quadrature—Revisited.” BIT Numerical Mathematics 40 (2000): 84–101. https://doi.org/10.1023/A:1022318402393

버전 내역

R2006a 이전에 개발됨