MCP로 연결 →

계산 입력

공식

광고

결과

반환된 Tanh-Sinh 노드
10
node/weight pairs (order n = 20)
유효 t_a 4.2
스텝 크기 h 0.442105
전체 가중치의 합 1.9999993431
i t_i 노드 x_i 가중치 w_i
1 0.2211 0.3364317911573048 0.6309622363150247
2 0.6632 0.8074765118645584 0.296772693493876
3 1.1053 0.9711342024624363 0.0662076633937352
4 1.5474 0.9982615398799233 0.0059249094153592
5 1.9895 0.9999745093540499 0.0001318520493753
6 2.4316 0.9999999602027466 0.0000003168563807
7 2.8737 0.999999999998166 0.0000000000226176
8 3.3158 1 0
9 3.7579 1 0
10 4.2 1 0
11

이 계산기의 기능

Tanh-Sinh 구적법 노드 및 가중치 계산기는 표준 구간 [-1, 1]에서 Tanh-Sinh 적분법(이중지수, DE 적분법)에 사용되는 절점(노드) \(x_i\)과 그에 대응하는 가중치 \(w_i\)를 생성합니다. 이 쌍들을 구하면 임의의 정적분을 간단한 가중합으로 근사할 수 있습니다. 즉, [-1, 1]에서의 f(x) 적분값은 \(w_i\)와 \(f(x_i)\)를 곱한 값들의 합으로 근사됩니다.

-1에서 1까지의 수직선에서 구적 노드가 끝점 쪽으로 모여 있는 모습
tanh-sinh 노드는 [-1, 1]의 끝점 쪽으로 모여 특이점을 잘 처리합니다.

적분법과 공식

Tanh-Sinh 구적법은 \(x = \tanh\!\left(\tfrac{\pi}{2}\sinh t\right)\)라는 변수 치환을 적용합니다. 이 변환은 실수 전체 직선 t를 열린 구간 (-1, 1)로 사상(mapping)합니다. 변환된 피적분함수는 이중지수적으로 감쇠하기 때문에, 평범한 사다리꼴 공식만으로도 놀라울 만큼 빠르게 수렴합니다. t를 \([-t_a, t_a]\)로 절단하고 n개의 등간격 점을 간격 \(h = \tfrac{2\,t_a}{n - 1}\)로 샘플링하면, 각 점은 \(t_i = -t_a + (i - 1)\,h\)가 되고, 노드와 가중치는 다음과 같습니다.

$$ x_i = \tanh\!\left(\tfrac{\pi}{2}\sinh t_i\right), \qquad w_i = \frac{h\,\tfrac{\pi}{2}\cosh t_i}{\cosh^{2}\!\left(\tfrac{\pi}{2}\sinh t_i\right)} $$
광고
t에 대한 tanh-sinh 변환 x의 그래프와 t에 대한 종 모양 가중치 곡선
이중 지수 사상 x(t)와 빠르게 감소하는 가중치 w(t)를 t의 함수로 나타낸 그림.

사용 방법

먼저 차수 n(사다리꼴 샘플 점의 개수)을 정하고, \(t_a\)를 요청한 정밀도에 따라 자동으로 설정할지 아니면 직접 입력할지 선택한 다음, 표시할 유효 자릿수를 지정합니다. 자동 모드에서는 반폭(half-width)이 \(t_a = \mathrm{round}\!\left[\left(\text{digits} + 1\right)^{0.46},\,1\right]\)로 결정되며, 22자리의 경우 문서에 명시된 기본값 \(t_a = 4.2\)가 나옵니다. "절반" 옵션은 대칭성 \(x_{-i} = -x_i\), \(w_{-i} = w_i\)를 활용해 음이 아닌 쪽만 반환하고, "전체" 옵션은 -1 근처부터 +1 근처까지 모든 노드를 나열합니다.

계산 예시

n = 3, 수동 \(t_a = 4\), "전체"를 선택한 경우: \(h = \tfrac{8}{2} = 4\)입니다. 세 개의 t 값은 -4, 0, 4입니다. t = 0일 때 \(x = \tanh(0) = 0\)이고 \(w = \tfrac{\pi}{2}\,h = 1.5707963 \times 4 = 6.2831853\)입니다. t = +/-4일 때는 \(\tfrac{\pi}{2}\sinh(4)\)의 값이 매우 커지므로 x가 +/-1로 포화되고 가중치는 거의 0으로 언더플로됩니다. 적절한 \(t_a\)와 함께 n을 키우면 가중치의 합이 약 2에 가까워지는데, 이는 [-1, 1]에서 f = 1의 정확한 적분값입니다.

자주 묻는 질문

왜 양 끝의 가중치가 거의 0인가요? 이중지수 감쇠 때문에 \(\tfrac{\pi}{2}\sinh t\)의 cosh 제곱 값이 끝부분에서 오버플로될 정도로 커지므로 해당 가중치가 사라집니다. 바로 이 점이 이 방법이 그토록 정확한 이유입니다.

여기서 "차수 n"은 무슨 뜻인가요? \([-t_a, t_a]\) 구간에 걸친 등간격 사다리꼴 점의 개수를 의미합니다. 점의 수가 많고 \(t_a\)가 적절할수록 정확도가 높아집니다.

일반 구간 [a, b]에서도 적분할 수 있나요? 네 — 비례 변환하면 됩니다. \(x = \tfrac{b - a}{2}\,x_i + \tfrac{a + b}{2}\)로 치환하고, 각 가중치에 \(\tfrac{b - a}{2}\)를 곱하세요.

최종 업데이트: