Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

trapz

사다리꼴 수치 적분

설명

예제

Q = trapz(Y)사다리꼴법을 단위 간격(간격: 1)과 함께 사용하여 Y의 적분 근삿값을 계산합니다. Y의 크기에 따라 함께 적분할 차원이 결정됩니다.

  • Y가 벡터인 경우 trapz(Y)Y의 적분 근삿값입니다

  • Y가 행렬인 경우 trapz(Y)는 각 열에 대해 적분을 계산하고 적분 값으로 구성된 행 벡터를 반환합니다.

  • Y가 다차원 배열인 경우 trapz(Y)는 크기가 1이 아닌 첫 번째 차원에 대해 적분을 계산합니다. 이 차원의 크기는 1이 되며 다른 차원의 크기는 변경되지 않은 상태로 유지됩니다.

예제

Q = trapz(X,Y)X로 지정된 좌표 또는 스칼라 간격을 기준으로 Y를 적분합니다.

  • X가 좌표의 벡터인 경우 length(X)는 크기가 1이 아닌 Y의 첫 번째 차원의 크기와 동일해야 합니다.

  • X가 스칼라 간격인 경우 trapz(X,Y)X*trapz(Y)와 동일합니다.

예제

Q = trapz(___,dim)은 위에 열거된 구문에서 차원 dim을 따라 적분합니다. Y는 반드시 지정해야 하며, X를 선택적으로 지정할 수 있습니다. X를 지정할 경우, 이는 스칼라이거나 길이가 size(Y,dim)과 같은 벡터일 수 있습니다. 예를 들어, Y가 행렬인 경우 trapz(X,Y,2)Y의 각 행을 적분합니다.

예제

모두 축소

데이터 점 사이의 간격이 1인 벡터의 적분을 계산합니다.

데이터로 구성된 숫자형 벡터를 생성합니다.

Y = [1 4 9 16 25];

Y에는 정의역 [1, 5]에 대한 f(x)=x2의 함수 값이 들어 있습니다.

trapz를 사용하여 단위 간격(간격: 1)으로 데이터를 적분합니다.

Q = trapz(Y)
Q = 42

이 적분 근삿값은 값 42를 생성합니다. 이 경우 정확한 답은 약간 작은 4113입니다. f(x)가 위로 오목하기 때문에 trapz 함수는 적분값을 과대 추정합니다.

데이터 점 사이의 간격이 균일하지만 1이 아닌 벡터의 적분을 계산합니다.

정의역 벡터를 만듭니다.

X = 0:pi/100:pi;

X의 사인을 계산합니다.

Y = sin(X);

trapz를 사용하여 Y를 적분합니다.

Q = trapz(X,Y)
Q = 1.9998

점 사이의 간격이 일정하지만 1이 아닌 경우, X에 대한 벡터를 만드는 다른 방법은 스칼라 간격 값을 지정하는 것입니다. 이 경우, trapz(pi/100,Y)pi/100*trapz(Y)와 같습니다.

데이터에 비균일 간격이 있는 행렬의 행을 적분합니다.

x 좌표의 벡터와 불규칙한 간격으로 발생하는 관측값으로 구성된 행렬을 만듭니다. Y의 행은 서로 다른 세 번의 실험에서 X에 포함된 시각에 측정한 속도 데이터를 나타냅니다.

X = [1 2.5 7 10];
Y = [5.2   7.7   9.6   13.2;
     4.8   7.0  10.5   14.5;
     4.9   6.5  10.2   13.8];

trapz를 사용하여 각 행을 개별적으로 적분하고, 각 실험에서의 총 거리를 구합니다. 데이터가 균일한 간격으로 계산되지 않았으므로 데이터 점 사이의 간격을 나타내도록 X를 지정합니다. 데이터가 Y의 행에 있으므로 dim = 2를 지정합니다.

Q1 = trapz(X,Y,2)
Q1 = 3×1

   82.8000
   85.7250
   82.1250

결과는 적분값으로 구성된 열 벡터로, Y의 행마다 하나씩 생성됩니다.

정의역 값으로 구성된 그리드를 만듭니다.

x = -3:.1:3; 
y = -5:.1:5; 
[X,Y] = meshgrid(x,y);

그리드에서 함수 f(x,y)=x2+y2을 계산합니다.

F = X.^2 + Y.^2;

trapz는 함수 표현식이 아니라 숫자형 데이터를 적분하므로, 일반적으로 표현식의 경우에는 데이터 행렬에서 trapz를 사용할지 여부가 중요하지 않습니다. 함수 표현식을 알고 있는 경우 integral, integral2 또는 integral3을 대신 사용할 수 있습니다.

trapz를 사용하여 이중 적분의 근삿값을 계산합니다.

I=-55-33(x2+y2)dxdy

숫자형 데이터로 구성된 배열에서 이중 적분이나 삼중 적분을 수행하려면 trapz에 대한 함수 호출을 중첩하십시오.

I = trapz(y,trapz(x,F,2))
I = 680.2000

trapz는 먼저 x에 대해 적분을 수행하여 열 벡터를 생성합니다. 그런 다음, y에 대한 적분으로 열 벡터를 단일 스칼라로 축소시킵니다. f(x,y)가 위로 오목하므로 trapz는 정확한 값 680을 약간 과대 추정합니다.

입력 인수

모두 축소

숫자형 데이터로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. 기본적으로 trapz는 크기가 1이 아닌 Y의 첫 번째 차원을 따라 적분을 계산합니다.

데이터형: single | double
복소수 지원 여부:

점 간격으로, 1(디폴트 값), 균일 스칼라 간격 또는 좌표의 벡터로 지정됩니다.

  • X가 스칼라이면 이는 데이터 점 사이에 균일한 간격을 지정하며 trapz(X,Y)X*trapz(Y)와 같습니다.

  • X가 벡터이면 이는 데이터 점에 대한 x 좌표를 지정하며 length(X)Y의 적분 차원의 크기와 같아야 합니다.

데이터형: single | double

함수 동작이 수행될 차원으로, 양의 정수 스칼라로 지정됩니다. 값이 지정되지 않은 경우 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.

2차원 입력 배열 Y가 있다고 가정하겠습니다.

  • trapz(Y,1)Y의 열에 있는 연속된 요소에 대해 동작을 수행하고 행 벡터를 반환합니다.

  • trapz(Y,2)Y의 행에 있는 연속된 요소에 대해 동작을 수행하고 열 벡터를 반환합니다.

dimndims(Y)보다 큰 경우 trapzY와 크기가 같은, 0으로 구성된 배열을 반환합니다.

세부 정보

모두 축소

사다리꼴법(Trapezoidal Method)

trapz는 사다리꼴법을 사용하여 수치 적분을 수행합니다. 사다리꼴법은 해당 영역을, 더욱 쉽게 계산할 수 있는 영역을 가지는 사다리꼴로 분할하여 구간 적분에 대한 근삿값을 계산합니다. 예를 들어, 다음과 같이 균일한 간격의 사다리꼴 8개를 사용하여 사인 함수의 사다리꼴 적분을 수행한 경우를 살펴보겠습니다.

균일한 간격의 N+1개 점을 사용하는 적분의 경우 근삿값은 다음과 같습니다.

abf(x)dxba2Nn=1N(f(xn)+f(xn+1))=ba2N[f(x1)+2f(x2)+...+2f(xN)+f(xN+1)],

여기서 각 점 사이의 간격은 스칼라 값 baN와 같습니다. 기본적으로 MATLAB®은 간격으로 1을 사용합니다.

N+1개 점 사이의 간격이 균일하지 않은 경우 식은 다음과 같이 일반화됩니다.

abf(x)dx12n=1N(xn+1xn)[f(xn)+f(xn+1)],

여기서 a=x1<x2<...<xN<xN+1=b이고, (xn+1xn)은 각 연속점 쌍 간의 간격입니다.

  • 이산 데이터 세트에 대한 수치 적분을 구할 때는 trapzcumtrapz를 사용해야 합니다. 데이터에 대한 함수 표현식이 존재한다면 integral, integral2 또는 integral3을 대신 사용하십시오.

  • trapz는 연산을 수행하는 차원의 크기를 1로 축소하고 최종 적분값만 반환합니다. cumtrapz는 연산을 수행하는 차원의 크기를 유지하면서 중간 누적 적분값을 반환합니다.

확장 기능

R2006a 이전에 개발됨