通过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 积分节点与权重计算器可以生成 Tanh-Sinh 法(又称双指数法,简称 DE 法)在标准区间 [-1, 1] 上所使用的节点 \(x_i\) 及其对应的权重 \(w_i\)。拿到这些「节点—权重」配对后,你就能把任意定积分近似写成一个简单的加权求和:f(x) 在 [-1, 1] 上的积分约等于各项 \(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)。换元后被积函数以双指数速度衰减,因此普通的梯形法收敛得快得惊人。把 \(t\) 截断到 \([-t_a, t_a]\),再以步长 \(h = 2 t_a / (n - 1)\) 等距取 \(n\) 个采样点,每个点对应以下公式:

$$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_i = -t_a + (i - 1) h\),节点 \(x_i = \tanh\!\left(\tfrac{\pi}{2}\sinh t_i\right)\),权重 \(w_i = h\,\tfrac{\pi}{2}\cosh t_i\) 除以 \(\cosh^{2}\!\left(\tfrac{\pi}{2}\sinh t_i\right)\)。

Advertisement
tanh-sinh 变换 x 关于 t 的图像,以及关于 t 的钟形权重曲线
双指数映射 \(x(t)\) 和快速衰减的权重 \(w(t)\) 作为 \(t\) 的函数。

使用方法

先选定阶数 \(n\)(即梯形采样点的个数),再决定 \(t_a\) 是按你设定的精度自动计算还是手动输入,最后选择显示多少位有效数字。在自动模式下,半宽度为 $$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 = 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 = \pm 4\) 时,\(\tfrac{\pi}{2}\sinh(4)\) 的数值极大,于是 \(x\) 饱和到 \(\pm 1\),而权重下溢到几乎为 0。若取更大的 \(n\) 并搭配合适的 \(t_a\),所有权重之和会趋近于 2——这正是 \(f = 1\) 在 [-1, 1] 上的精确积分值。

常见问题

为什么两端的权重几乎为零?双指数衰减使 \(\cosh^{2}\!\left(\tfrac{\pi}{2}\sinh t\right)\) 在区间边缘急剧增大乃至溢出,于是这些权重趋于消失——而这恰恰是该方法如此精确的原因所在。

这里的「阶数 \(n\)」是什么意思?它指的是横跨 \([-t_a, t_a]\) 的等距梯形采样点的个数;点越多、\(t_a\) 越合适,精度就越高。

能在一般区间 [a, b] 上做积分吗?可以——只需做线性变换:令 \(x = \tfrac{b - a}{2} \times x_i + \tfrac{a + b}{2}\),并将每个权重乘以 \(\tfrac{b - a}{2}\)。

最后更新: